summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexis Menard <alexis.menard@nokia.com>2011-06-27 18:51:10 -0300
committerAlexis Menard <alexis.menard@nokia.com>2011-06-27 18:51:10 -0300
commitcc7f93d1a8b6350c5e0ad5a58cf78d17a51201fa (patch)
tree36de473ddbd0cb424718540a230b98a1c25a1192
parente1c651f1284f1041ba5e03246686018e363d0e44 (diff)
Updated WebKit to d30a30ac4faadcb8b2e282e343c921f919fbca9b
Beta1 of QtWebkit 2.2. Reviewed-by: Andreas Kling
-rw-r--r--src/3rdparty/webkit/.tag2
-rw-r--r--src/3rdparty/webkit/ChangeLog11
-rw-r--r--src/3rdparty/webkit/Source/JavaScriptCore/COPYING.LIB488
-rw-r--r--src/3rdparty/webkit/Source/WebCore/ChangeLog282
-rw-r--r--src/3rdparty/webkit/Source/WebCore/WebCore.gypi2
-rw-r--r--src/3rdparty/webkit/Source/WebCore/WebCore.pri11
-rw-r--r--src/3rdparty/webkit/Source/WebCore/WebCore.pro6
-rw-r--r--src/3rdparty/webkit/Source/WebCore/bridge/qt/qt_runtime.cpp18
-rw-r--r--src/3rdparty/webkit/Source/WebCore/css/CSSParser.cpp3
-rw-r--r--src/3rdparty/webkit/Source/WebCore/css/CSSStyleSelector.cpp12
-rw-r--r--src/3rdparty/webkit/Source/WebCore/css/MediaQueryEvaluator.cpp2
-rw-r--r--src/3rdparty/webkit/Source/WebCore/css/MediaQueryEvaluator.h2
-rw-r--r--src/3rdparty/webkit/Source/WebCore/css/fullscreenQuickTime.css2
-rw-r--r--src/3rdparty/webkit/Source/WebCore/dom/Node.cpp16
-rw-r--r--src/3rdparty/webkit/Source/WebCore/dom/Node.h1
-rw-r--r--src/3rdparty/webkit/Source/WebCore/editing/InsertParagraphSeparatorCommand.cpp6
-rw-r--r--src/3rdparty/webkit/Source/WebCore/editing/TextIterator.cpp19
-rw-r--r--src/3rdparty/webkit/Source/WebCore/features.pri7
-rw-r--r--src/3rdparty/webkit/Source/WebCore/generated/CSSGrammar.cpp1857
-rw-r--r--src/3rdparty/webkit/Source/WebCore/generated/CSSGrammar.h128
-rw-r--r--src/3rdparty/webkit/Source/WebCore/generated/CSSPropertyNames.cpp2
-rw-r--r--src/3rdparty/webkit/Source/WebCore/generated/CSSValueKeywords.cpp2
-rw-r--r--src/3rdparty/webkit/Source/WebCore/generated/ColorData.cpp2
-rw-r--r--src/3rdparty/webkit/Source/WebCore/generated/DocTypeStrings.cpp2
-rw-r--r--src/3rdparty/webkit/Source/WebCore/generated/JSWebGLRenderingContext.cpp76
-rw-r--r--src/3rdparty/webkit/Source/WebCore/generated/XPathGrammar.cpp915
-rw-r--r--src/3rdparty/webkit/Source/WebCore/generated/XPathGrammar.h66
-rw-r--r--src/3rdparty/webkit/Source/WebCore/html/HTMLCanvasElement.cpp16
-rw-r--r--src/3rdparty/webkit/Source/WebCore/html/canvas/CanvasRenderingContext2D.cpp11
-rw-r--r--src/3rdparty/webkit/Source/WebCore/html/parser/HTMLConstructionSite.cpp10
-rw-r--r--src/3rdparty/webkit/Source/WebCore/html/shadow/MediaControlElements.cpp105
-rw-r--r--src/3rdparty/webkit/Source/WebCore/html/shadow/MediaControlElements.h15
-rw-r--r--src/3rdparty/webkit/Source/WebCore/html/shadow/MediaControlRootElement.cpp9
-rw-r--r--src/3rdparty/webkit/Source/WebCore/loader/DocumentLoader.cpp4
-rw-r--r--src/3rdparty/webkit/Source/WebCore/platform/graphics/MediaPlayer.cpp3
-rw-r--r--src/3rdparty/webkit/Source/WebCore/platform/graphics/TiledBackingStore.cpp13
-rw-r--r--src/3rdparty/webkit/Source/WebCore/platform/graphics/cg/ImageBufferDataCG.cpp4
-rw-r--r--src/3rdparty/webkit/Source/WebCore/platform/graphics/gstreamer/PlatformVideoWindowQt.cpp4
-rw-r--r--src/3rdparty/webkit/Source/WebCore/platform/graphics/qt/MediaPlayerPrivatePhonon.cpp557
-rw-r--r--src/3rdparty/webkit/Source/WebCore/platform/graphics/qt/MediaPlayerPrivatePhonon.h153
-rw-r--r--src/3rdparty/webkit/Source/WebCore/rendering/RenderBlock.cpp3
-rw-r--r--src/3rdparty/webkit/Source/WebKit.pri5
-rw-r--r--src/3rdparty/webkit/Source/WebKit/qt/ChangeLog81
-rw-r--r--src/3rdparty/webkit/Source/WebKit/qt/QtWebKit.pro2
-rw-r--r--src/3rdparty/webkit/Source/WebKit/qt/docs/qtwebkit.qdocconf6
-rw-r--r--src/3rdparty/webkit/Source/WebKit/qt/qt_webkit_version.pri2
-rw-r--r--src/3rdparty/webkit/Source/WebKit/qt/symbian/eabi/QtWebKitu.def17
-rw-r--r--src/3rdparty/webkit/Source/WebKit/qt/tests/qwebframe/tst_qwebframe.cpp16
-rw-r--r--src/3rdparty/webkit/Source/WebKit/qt/tests/qwebpage/tst_qwebpage.cpp3
-rw-r--r--src/3rdparty/webkit/Source/WebKit2/ChangeLog28
-rw-r--r--src/3rdparty/webkit/Source/WebKit2/UIProcess/TiledDrawingAreaProxy.cpp12
-rw-r--r--src/3rdparty/webkit/VERSION2
52 files changed, 2901 insertions, 2120 deletions
diff --git a/src/3rdparty/webkit/.tag b/src/3rdparty/webkit/.tag
index eecdf33c94..764b986053 100644
--- a/src/3rdparty/webkit/.tag
+++ b/src/3rdparty/webkit/.tag
@@ -1 +1 @@
-631751dee41f81af4daa7821f98b1ce8667c4d90
+d30a30ac4faadcb8b2e282e343c921f919fbca9b
diff --git a/src/3rdparty/webkit/ChangeLog b/src/3rdparty/webkit/ChangeLog
index d09494e2a3..96ef59167e 100644
--- a/src/3rdparty/webkit/ChangeLog
+++ b/src/3rdparty/webkit/ChangeLog
@@ -1,3 +1,14 @@
+2011-06-27 Alexis Menard <alexis.menard@openbossa.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Remove Phonon MediaPlayer from the tree.
+ https://bugs.webkit.org/show_bug.cgi?id=63448
+
+ Remvove from the build.
+
+ * Source/WebKit.pri:
+
2011-06-07 Andreas Kling <andreas.kling@nokia.com>
Reviewed by Laszlo Gombos.
diff --git a/src/3rdparty/webkit/Source/JavaScriptCore/COPYING.LIB b/src/3rdparty/webkit/Source/JavaScriptCore/COPYING.LIB
new file mode 100644
index 0000000000..87c4a33dd8
--- /dev/null
+++ b/src/3rdparty/webkit/Source/JavaScriptCore/COPYING.LIB
@@ -0,0 +1,488 @@
+
+
+NOTE! The LGPL below is copyrighted by the Free Software Foundation, but
+the instance of code that it refers to (the kde libraries) are copyrighted
+by the authors who actually wrote it.
+
+---------------------------------------------------------------------------
+ GNU LIBRARY GENERAL PUBLIC LICENSE
+ Version 2, June 1991
+
+ Copyright (C) 1991 Free Software Foundation, Inc.
+ 51 Franklin Street, Fifth Floor
+ Boston, MA 02110-1301, USA.
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+[This is the first released version of the library GPL. It is
+ numbered 2 because it goes with version 2 of the ordinary GPL.]
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+Licenses are intended to guarantee your freedom to share and change
+free software--to make sure the software is free for all its users.
+
+ This license, the Library General Public License, applies to some
+specially designated Free Software Foundation software, and to any
+other libraries whose authors decide to use it. You can use it for
+your libraries, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+ To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if
+you distribute copies of the library, or if you modify it.
+
+ For example, if you distribute copies of the library, whether gratis
+or for a fee, you must give the recipients all the rights that we gave
+you. You must make sure that they, too, receive or can get the source
+code. If you link a program with the library, you must provide
+complete object files to the recipients so that they can relink them
+with the library, after making changes to the library and recompiling
+it. And you must show them these terms so they know their rights.
+
+ Our method of protecting your rights has two steps: (1) copyright
+the library, and (2) offer you this license which gives you legal
+permission to copy, distribute and/or modify the library.
+
+ Also, for each distributor's protection, we want to make certain
+that everyone understands that there is no warranty for this free
+library. If the library is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original
+version, so that any problems introduced by others will not reflect on
+the original authors' reputations.
+
+ Finally, any free program is threatened constantly by software
+patents. We wish to avoid the danger that companies distributing free
+software will individually obtain patent licenses, thus in effect
+transforming the program into proprietary software. To prevent this,
+we have made it clear that any patent must be licensed for everyone's
+free use or not licensed at all.
+
+ Most GNU software, including some libraries, is covered by the ordinary
+GNU General Public License, which was designed for utility programs. This
+license, the GNU Library General Public License, applies to certain
+designated libraries. This license is quite different from the ordinary
+one; be sure to read it in full, and don't assume that anything in it is
+the same as in the ordinary license.
+
+ The reason we have a separate public license for some libraries is that
+they blur the distinction we usually make between modifying or adding to a
+program and simply using it. Linking a program with a library, without
+changing the library, is in some sense simply using the library, and is
+analogous to running a utility program or application program. However, in
+a textual and legal sense, the linked executable is a combined work, a
+derivative of the original library, and the ordinary General Public License
+treats it as such.
+
+ Because of this blurred distinction, using the ordinary General
+Public License for libraries did not effectively promote software
+sharing, because most developers did not use the libraries. We
+concluded that weaker conditions might promote sharing better.
+
+ However, unrestricted linking of non-free programs would deprive the
+users of those programs of all benefit from the free status of the
+libraries themselves. This Library General Public License is intended to
+permit developers of non-free programs to use free libraries, while
+preserving your freedom as a user of such programs to change the free
+libraries that are incorporated in them. (We have not seen how to achieve
+this as regards changes in header files, but we have achieved it as regards
+changes in the actual functions of the Library.) The hope is that this
+will lead to faster development of free libraries.
+
+ The precise terms and conditions for copying, distribution and
+modification follow. Pay close attention to the difference between a
+"work based on the library" and a "work that uses the library". The
+former contains code derived from the library, while the latter only
+works together with the library.
+
+ Note that it is possible for a library to be covered by the ordinary
+General Public License rather than by this special one.
+
+ GNU LIBRARY GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License Agreement applies to any software library which
+contains a notice placed by the copyright holder or other authorized
+party saying it may be distributed under the terms of this Library
+General Public License (also called "this License"). Each licensee is
+addressed as "you".
+
+ A "library" means a collection of software functions and/or data
+prepared so as to be conveniently linked with application programs
+(which use some of those functions and data) to form executables.
+
+ The "Library", below, refers to any such software library or work
+which has been distributed under these terms. A "work based on the
+Library" means either the Library or any derivative work under
+copyright law: that is to say, a work containing the Library or a
+portion of it, either verbatim or with modifications and/or translated
+straightforwardly into another language. (Hereinafter, translation is
+included without limitation in the term "modification".)
+
+ "Source code" for a work means the preferred form of the work for
+making modifications to it. For a library, complete source code means
+all the source code for all modules it contains, plus any associated
+interface definition files, plus the scripts used to control compilation
+and installation of the library.
+
+ Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running a program using the Library is not restricted, and output from
+such a program is covered only if its contents constitute a work based
+on the Library (independent of the use of the Library in a tool for
+writing it). Whether that is true depends on what the Library does
+and what the program that uses the Library does.
+
+ 1. You may copy and distribute verbatim copies of the Library's
+complete source code as you receive it, in any medium, provided that
+you conspicuously and appropriately publish on each copy an
+appropriate copyright notice and disclaimer of warranty; keep intact
+all the notices that refer to this License and to the absence of any
+warranty; and distribute a copy of this License along with the
+Library.
+
+ You may charge a fee for the physical act of transferring a copy,
+and you may at your option offer warranty protection in exchange for a
+fee.
+
+ 2. You may modify your copy or copies of the Library or any portion
+of it, thus forming a work based on the Library, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) The modified work must itself be a software library.
+
+ b) You must cause the files modified to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ c) You must cause the whole of the work to be licensed at no
+ charge to all third parties under the terms of this License.
+
+ d) If a facility in the modified Library refers to a function or a
+ table of data to be supplied by an application program that uses
+ the facility, other than as an argument passed when the facility
+ is invoked, then you must make a good faith effort to ensure that,
+ in the event an application does not supply such function or
+ table, the facility still operates, and performs whatever part of
+ its purpose remains meaningful.
+
+ (For example, a function in a library to compute square roots has
+ a purpose that is entirely well-defined independent of the
+ application. Therefore, Subsection 2d requires that any
+ application-supplied function or table used by this function must
+ be optional: if the application does not supply it, the square
+ root function must still compute square roots.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Library,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Library, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote
+it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Library.
+
+In addition, mere aggregation of another work not based on the Library
+with the Library (or with a work based on the Library) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may opt to apply the terms of the ordinary GNU General Public
+License instead of this License to a given copy of the Library. To do
+this, you must alter all the notices that refer to this License, so
+that they refer to the ordinary GNU General Public License, version 2,
+instead of to this License. (If a newer version than version 2 of the
+ordinary GNU General Public License has appeared, then you can specify
+that version instead if you wish.) Do not make any other change in
+these notices.
+
+ Once this change is made in a given copy, it is irreversible for
+that copy, so the ordinary GNU General Public License applies to all
+subsequent copies and derivative works made from that copy.
+
+ This option is useful when you wish to copy part of the code of
+the Library into a program that is not a library.
+
+ 4. You may copy and distribute the Library (or a portion or
+derivative of it, under Section 2) in object code or executable form
+under the terms of Sections 1 and 2 above provided that you accompany
+it with the complete corresponding machine-readable source code, which
+must be distributed under the terms of Sections 1 and 2 above on a
+medium customarily used for software interchange.
+
+ If distribution of object code is made by offering access to copy
+from a designated place, then offering equivalent access to copy the
+source code from the same place satisfies the requirement to
+distribute the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 5. A program that contains no derivative of any portion of the
+Library, but is designed to work with the Library by being compiled or
+linked with it, is called a "work that uses the Library". Such a
+work, in isolation, is not a derivative work of the Library, and
+therefore falls outside the scope of this License.
+
+ However, linking a "work that uses the Library" with the Library
+creates an executable that is a derivative of the Library (because it
+contains portions of the Library), rather than a "work that uses the
+library". The executable is therefore covered by this License.
+Section 6 states terms for distribution of such executables.
+
+ When a "work that uses the Library" uses material from a header file
+that is part of the Library, the object code for the work may be a
+derivative work of the Library even though the source code is not.
+Whether this is true is especially significant if the work can be
+linked without the Library, or if the work is itself a library. The
+threshold for this to be true is not precisely defined by law.
+
+ If such an object file uses only numerical parameters, data
+structure layouts and accessors, and small macros and small inline
+functions (ten lines or less in length), then the use of the object
+file is unrestricted, regardless of whether it is legally a derivative
+work. (Executables containing this object code plus portions of the
+Library will still fall under Section 6.)
+
+ Otherwise, if the work is a derivative of the Library, you may
+distribute the object code for the work under the terms of Section 6.
+Any executables containing that work also fall under Section 6,
+whether or not they are linked directly with the Library itself.
+
+ 6. As an exception to the Sections above, you may also compile or
+link a "work that uses the Library" with the Library to produce a
+work containing portions of the Library, and distribute that work
+under terms of your choice, provided that the terms permit
+modification of the work for the customer's own use and reverse
+engineering for debugging such modifications.
+
+ You must give prominent notice with each copy of the work that the
+Library is used in it and that the Library and its use are covered by
+this License. You must supply a copy of this License. If the work
+during execution displays copyright notices, you must include the
+copyright notice for the Library among them, as well as a reference
+directing the user to the copy of this License. Also, you must do one
+of these things:
+
+ a) Accompany the work with the complete corresponding
+ machine-readable source code for the Library including whatever
+ changes were used in the work (which must be distributed under
+ Sections 1 and 2 above); and, if the work is an executable linked
+ with the Library, with the complete machine-readable "work that
+ uses the Library", as object code and/or source code, so that the
+ user can modify the Library and then relink to produce a modified
+ executable containing the modified Library. (It is understood
+ that the user who changes the contents of definitions files in the
+ Library will not necessarily be able to recompile the application
+ to use the modified definitions.)
+
+ b) Accompany the work with a written offer, valid for at
+ least three years, to give the same user the materials
+ specified in Subsection 6a, above, for a charge no more
+ than the cost of performing this distribution.
+
+ c) If distribution of the work is made by offering access to copy
+ from a designated place, offer equivalent access to copy the above
+ specified materials from the same place.
+
+ d) Verify that the user has already received a copy of these
+ materials or that you have already sent this user a copy.
+
+ For an executable, the required form of the "work that uses the
+Library" must include any data and utility programs needed for
+reproducing the executable from it. However, as a special exception,
+the source code distributed need not include anything that is normally
+distributed (in either source or binary form) with the major
+components (compiler, kernel, and so on) of the operating system on
+which the executable runs, unless that component itself accompanies
+the executable.
+
+ It may happen that this requirement contradicts the license
+restrictions of other proprietary libraries that do not normally
+accompany the operating system. Such a contradiction means you cannot
+use both them and the Library together in an executable that you
+distribute.
+
+ 7. You may place library facilities that are a work based on the
+Library side-by-side in a single library together with other library
+facilities not covered by this License, and distribute such a combined
+library, provided that the separate distribution of the work based on
+the Library and of the other library facilities is otherwise
+permitted, and provided that you do these two things:
+
+ a) Accompany the combined library with a copy of the same work
+ based on the Library, uncombined with any other library
+ facilities. This must be distributed under the terms of the
+ Sections above.
+
+ b) Give prominent notice with the combined library of the fact
+ that part of it is a work based on the Library, and explaining
+ where to find the accompanying uncombined form of the same work.
+
+ 8. You may not copy, modify, sublicense, link with, or distribute
+the Library except as expressly provided under this License. Any
+attempt otherwise to copy, modify, sublicense, link with, or
+distribute the Library is void, and will automatically terminate your
+rights under this License. However, parties who have received copies,
+or rights, from you under this License will not have their licenses
+terminated so long as such parties remain in full compliance.
+
+ 9. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Library or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Library (or any work based on the
+Library), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Library or works based on it.
+
+ 10. Each time you redistribute the Library (or any work based on the
+Library), the recipient automatically receives a license from the
+original licensor to copy, distribute, link with or modify the Library
+subject to these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+ 11. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Library at all. For example, if a patent
+license would not permit royalty-free redistribution of the Library by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Library.
+
+If any portion of this section is held invalid or unenforceable under any
+particular circumstance, the balance of the section is intended to apply,
+and the section as a whole is intended to apply in other circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ 12. If the distribution and/or use of the Library is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Library under this License may add
+an explicit geographical distribution limitation excluding those countries,
+so that distribution is permitted only in or among countries not thus
+excluded. In such case, this License incorporates the limitation as if
+written in the body of this License.
+
+ 13. The Free Software Foundation may publish revised and/or new
+versions of the Library General Public License from time to time.
+Such new versions will be similar in spirit to the present version,
+but may differ in detail to address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Library
+specifies a version number of this License which applies to it and
+"any later version", you have the option of following the terms and
+conditions either of that version or of any later version published by
+the Free Software Foundation. If the Library does not specify a
+license version number, you may choose any version ever published by
+the Free Software Foundation.
+
+ 14. If you wish to incorporate parts of the Library into other free
+programs whose distribution conditions are incompatible with these,
+write to the author to ask for permission. For software which is
+copyrighted by the Free Software Foundation, write to the Free
+Software Foundation; we sometimes make exceptions for this. Our
+decision will be guided by the two goals of preserving the free status
+of all derivatives of our free software and of promoting the sharing
+and reuse of software generally.
+
+ NO WARRANTY
+
+ 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
+WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
+EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
+OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
+KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
+LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
+THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+ 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
+WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
+AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
+FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
+CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
+LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
+RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
+FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
+SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+ How to Apply These Terms to Your New Libraries
+
+ If you develop a new library, and you want it to be of the greatest
+possible use to the public, we recommend making it free software that
+everyone can redistribute and change. You can do so by permitting
+redistribution under these terms (or, alternatively, under the terms of the
+ordinary General Public License).
+
+ To apply these terms, attach the following notices to the library. It is
+safest to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least the
+"copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the library's name and a brief idea of what it does.>
+ Copyright (C) <year> <name of author>
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+
+Also add information on how to contact you by electronic and paper mail.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the library, if
+necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the
+ library `Frob' (a library for tweaking knobs) written by James Random Hacker.
+
+ <signature of Ty Coon>, 1 April 1990
+ Ty Coon, President of Vice
+
+That's all there is to it!
diff --git a/src/3rdparty/webkit/Source/WebCore/ChangeLog b/src/3rdparty/webkit/Source/WebCore/ChangeLog
index 919d0bf891..c54ef03a0d 100644
--- a/src/3rdparty/webkit/Source/WebCore/ChangeLog
+++ b/src/3rdparty/webkit/Source/WebCore/ChangeLog
@@ -1,3 +1,285 @@
+2011-06-15 Jer Noble <jer.noble@apple.com>
+
+ Reviewed by Timothy Hatcher.
+
+ Full-screen live streams have status text in wrong location
+ https://bugs.webkit.org/show_bug.cgi?id=62733
+
+ Fix a misspelling in the user-agent stylesheet for full-screen mode.
+
+ * css/fullscreenQuickTime.css:
+ (video:-webkit-full-screen::-webkit-media-controls-status-display):
+
+2011-06-27 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
+
+ Reviewed by Andreas Kling.
+
+ [Qt] tst_QWebFrame::overloadedSlots() fails
+ https://bugs.webkit.org/show_bug.cgi?id=37319
+
+ This patch is based on Noam Rosenthal original patch in the same bug.
+
+ When hinted with QWebElement metatype, we qualify the conversion
+ from JSElement as a "perfect match".
+
+ The test was failing because the wrong slot was called, since the QWebElement
+ match was taken as equal to the others and not chosen when the metacall happened.
+
+ * bridge/qt/qt_runtime.cpp:
+ (JSC::Bindings::convertValueToQVariant): Identify the conversion between JSElement
+ to QWebElement as a "perfect match" (dist = 0). Add comments to explain the reason
+ why we have the implicit conversion.
+
+2011-06-27 Abhishek Arya <inferno@chromium.org>
+
+ Reviewed by Simon Fraser.
+
+ Fix removal of overhanging floats on style changes to absolute/fixed position.
+ https://bugs.webkit.org/show_bug.cgi?id=63355
+
+ 1. If we are not currently positioned.
+ 2. And we are not floating. (If we are floating, then this will be automatically
+ done in RenderBox::styleWillChange as part of removeFloatingOrPositionedChildFromBlockLists)
+ 3. And we have overhanging floats from previous sibling blocks.
+ 4. And our new new style tells that we will have absolute or fixed position.
+
+ Then, we mark all our descendants with floats for layout. This will make sure that
+ overhanging floats are removed. Also, it is important to do that since if that previous
+ sibling block goes away, it is not able to tell us that to remove those floats thinking
+ that being a positioned block, we should have removed them already.
+
+ Tests: fast/block/float/intruding-float-add-in-sibling-block-on-static-position.html
+ fast/block/float/intruding-float-add-in-sibling-block-on-static-position2.html
+ fast/block/float/intruding-float-remove-from-sibling-block-on-absolute-position.html
+ fast/block/float/intruding-float-remove-from-sibling-block-on-absolute-position2.html
+ fast/block/float/intruding-float-remove-from-sibling-block-on-fixed-position.html
+ fast/block/float/intruding-float-remove-from-sibling-block-on-fixed-position2.html
+ fast/block/float/overhanging-float-add-in-static-position-block.html
+ fast/block/float/overhanging-float-add-in-static-position-block2.html
+ fast/block/float/overhanging-float-remove-from-absolute-position-block.html
+ fast/block/float/overhanging-float-remove-from-absolute-position-block2.html
+ fast/block/float/overhanging-float-remove-from-fixed-position-block.html
+ fast/block/float/overhanging-float-remove-from-fixed-position-block2.html
+
+ * rendering/RenderBlock.cpp:
+ (WebCore::RenderBlock::styleWillChange):
+
+2011-06-27 Ryosuke Niwa <rniwa@webkit.org>
+
+ Reviewed by Kent Tamura.
+
+ Crash in TextIterator
+ https://bugs.webkit.org/show_bug.cgi?id=63334
+
+ Fix a crash in TextIterator. Keep m_sortedTextBoxes and renderer consistent
+ and check !m_offset when handling first letter.
+
+ Also add more assertions to help detecting similar bugs.
+
+ Test: editing/text-iterator/first-letter-rtl-crash.html
+
+ * editing/TextIterator.cpp:
+ (WebCore::TextIterator::handleTextNode):
+ (WebCore::TextIterator::emitText):
+
+2011-06-27 Huang Dongsung <luxtella@company100.net>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ TiledBackingStore endlessly creates and destroys tiles due to an off-by-one
+ error.
+ https://bugs.webkit.org/show_bug.cgi?id=62422
+
+ REGRESSION(r77286): Remove bottomRight().
+ REGRESSION(r77312): Change the logic to get the bottom right point.
+ REGRESSION(r77928): Cause off-by-one error in TiledBackingStore.
+ REGRESSION(r78783): Cause off-by-one error in TiledDrawingAreaProxy.
+ REGRESSION(r78785): Cause off-by-one error in TiledDrawingAreaProxy.
+
+ If the viewport width equals the contents width, especially in the mobile
+ device, TiledBackingStore endlessly creates and deletes the rightmost
+ column and bottom row of tiles.
+ In the detail, dropTilesOutsideRect() in TiledBackingStore::createTiles()
+ deletes tiles and setTile(coordinate, Tile::create(this, coordinate)) creates
+ tiles infinitely.
+ Modified TiledDrawingAreaProxy also.
+
+ * platform/graphics/TiledBackingStore.cpp:
+ (WebCore::innerBottomRight):
+ (WebCore::TiledBackingStore::invalidate):
+ (WebCore::TiledBackingStore::paint):
+ (WebCore::TiledBackingStore::createTiles):
+
+2011-06-27 Alexis Menard <alexis.menard@openbossa.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Remove Phonon MediaPlayer from the tree.
+ https://bugs.webkit.org/show_bug.cgi?id=63448
+
+ Remove Phonon mediaplayer as it is unused, not finished and
+ unmaintained.
+
+ * WebCore.gypi:
+ * WebCore.pri:
+ * WebCore.pro:
+ * features.pri:
+ * platform/graphics/MediaPlayer.cpp:
+ * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp: Removed.
+ * platform/graphics/qt/MediaPlayerPrivatePhonon.h: Removed.
+
+2011-06-10 Darin Adler <darin@apple.com>
+
+ Reviewed by Eric Carlson.
+
+ REGRESSION: Fullscreen video controller can't be dragged
+ https://bugs.webkit.org/show_bug.cgi?id=62462
+
+ No regression test because we don't have machinery for testing the fullscreen
+ mode. We may find a way to add this in the future.
+
+ * html/shadow/MediaControlElements.cpp:
+ (WebCore::MediaControlPanelElement::MediaControlPanelElement): Initialize new
+ booleans related to dragging.
+ (WebCore::MediaControlPanelElement::startDrag): Added. Starts drag if dragging
+ is allowed and a drag isn't already in progress.
+ (WebCore::MediaControlPanelElement::continueDrag): Added. Moves the window if
+ dragging is already in progress.
+ (WebCore::MediaControlPanelElement::endDrag): Added. Ends the capture that is
+ done during the dragging process.
+ (WebCore::MediaControlPanelElement::setPosition): Added. Positions the panel
+ using explicit top/left.
+ (WebCore::MediaControlPanelElement::resetPosition): Added. Removes the positioning
+ done by setPosition.
+ (WebCore::MediaControlPanelElement::defaultEventHandler): Added. Calls startDrag,
+ continueDrag, and endDrag in response to mouse events.
+ (WebCore::MediaControlPanelElement::setCanBeDragged): Added.
+ * html/shadow/MediaControlElements.h: Added new function and data members
+ as mentioned above.
+
+ * html/shadow/MediaControlRootElement.cpp:
+ (WebCore::MediaControlRootElement::enteredFullscreen): Call setCanBeDragged(true)
+ so you can drag the panel while in fullscreen.
+ (WebCore::MediaControlRootElement::exitedFullscreen): Call setCanBeDragged(false)
+ so you can't drag the panel while not in fullscreen. Also call resetPosition so
+ position changes from dragging don't affect the panel in other contexts.
+
+2011-06-24 Dimitri Glazkov <dglazkov@chromium.org>
+
+ Reviewed by Darin Adler.
+
+ REGRESSION (r77740): Shadow DOM pseudo elements aren't matching when combined with descendant selectors
+ https://bugs.webkit.org/show_bug.cgi?id=63373
+
+ * css/CSSStyleSelector.cpp:
+ (WebCore::CSSStyleSelector::pushParentStackFrame): Changed to use parentOrHostElement.
+ (WebCore::CSSStyleSelector::pushParent): Ditto.
+ * dom/Node.cpp:
+ (WebCore::Node::parentOrHostElement): Added.
+ * dom/Node.h:
+
+2011-06-24 Alexey Proskuryakov <ap@apple.com>
+
+ Rubber-stamped by Maciej Stachowiak.
+
+ REGRESSION (r88984): Infinite recursion in DocumentLoader::detachFromFrame/stopLoading
+
+ No new tests, as there is no known way to reproduce this (but we'll keep investigating, as
+ the rollout will re-introduce the older less frequent crash).
+
+ * loader/DocumentLoader.cpp: (WebCore::DocumentLoader::detachFromFrame): Rollout the fix
+ for bug 62764.
+
+2011-06-24 Alexis Menard <alexis.menard@openbossa.org>
+
+ Unreviewed build fix.
+
+ Build fix on Linux when using the GStreamer backend.
+
+ No new tests, just a build fix.
+
+ * platform/graphics/gstreamer/PlatformVideoWindowQt.cpp:
+ (FullScreenVideoWindow::keyPressEvent):
+
+2011-06-23 Abhishek Arya <inferno@chromium.org>
+
+ Reviewed by Adam Barth.
+
+ RefPtr m_style in MediaQueryEvaluator in case of callers like
+ MediaQueryMatcher::prepareEvaluator that do not retain its reference.
+ https://bugs.webkit.org/show_bug.cgi?id=63264
+
+ Test: fast/css/media-query-evaluator-crash.html
+
+ * css/MediaQueryEvaluator.cpp:
+ (WebCore::MediaQueryEvaluator::eval):
+ * css/MediaQueryEvaluator.h:
+
+2011-06-22 Annie Sullivan <sullivan@chromium.org>
+
+ Reviewed by Ryosuke Niwa.
+
+ REGRESSION: Hitting enter in the middle of this span causes the cursor to go to the end of the span
+ https://bugs.webkit.org/show_bug.cgi?id=61594
+
+ When the tree is split at the cursor in InsertParagraphSeparatorCommand, it is possible for the position
+ split at to be at the end of a text node. The code assumes the position is at the start of the node, so
+ pass the correct node into splitTreeToNode() in that case.
+
+ Tests: editing/inserting/return-key-before-br-in-span.html
+ editing/inserting/return-key-middle-of-span.html
+
+ * editing/InsertParagraphSeparatorCommand.cpp:
+ (WebCore::InsertParagraphSeparatorCommand::doApply):
+
+2011-05-24 Matthew Delaney <mdelaney@apple.com>
+
+ Reviewed by Simon Fraser.
+
+ Clamp coordinates to integers for canvas create/getImageData routines
+ https://bugs.webkit.org/show_bug.cgi?id=61135
+
+ Test: fast/canvas/canvas-getImageData-largeNonintegralDimensions.html
+
+ * html/HTMLCanvasElement.cpp:
+ (WebCore::HTMLCanvasElement::convertLogicalToDevice): clamp to ints
+ * html/canvas/CanvasRenderingContext2D.cpp:
+ (WebCore::CanvasRenderingContext2D::createImageData):
+ (WebCore::CanvasRenderingContext2D::getImageData):
+ * platform/graphics/cg/ImageBufferDataCG.cpp:
+ (WebCore::ImageBufferData::getData):
+
+2011-06-09 Adam Barth <abarth@webkit.org>
+
+ Reviewed by Eric Seidel.
+
+ Running script from attach can remove elements from the stack of open elements
+ https://bugs.webkit.org/show_bug.cgi?id=62160
+
+ When the tree build runs script synchronously, that script can remove
+ arbitrary elements from the stack of open elements. We need to hold a
+ reference to |parent| in attach instead of rely upon the reference in
+ the stack of open elements.
+
+ Test: fast/parser/document-write-onload-clear.html
+
+ * html/parser/HTMLConstructionSite.cpp:
+ (WebCore::HTMLConstructionSite::attach):
+
+2011-06-09 Mike Lawther <mikelawther@chromium.org>
+
+ Reviewed by Kent Tamura.
+
+ Parsing issue with -webkit-calc
+ https://bugs.webkit.org/show_bug.cgi?id=62276
+
+ Set the CSSParserString for the calc functions.
+
+ Test: css3/calc/regression-62276.html
+
+ * css/CSSParser.cpp:
+ (WebCore::CSSParser::lex):
+
2011-06-20 Adam Barth <abarth@webkit.org>
Reviewed by Alexey Proskuryakov.
diff --git a/src/3rdparty/webkit/Source/WebCore/WebCore.gypi b/src/3rdparty/webkit/Source/WebCore/WebCore.gypi
index 842966aaf5..e418f7f893 100644
--- a/src/3rdparty/webkit/Source/WebCore/WebCore.gypi
+++ b/src/3rdparty/webkit/Source/WebCore/WebCore.gypi
@@ -4330,8 +4330,6 @@
'platform/graphics/qt/IntPointQt.cpp',
'platform/graphics/qt/IntRectQt.cpp',
'platform/graphics/qt/IntSizeQt.cpp',
- 'platform/graphics/qt/MediaPlayerPrivatePhonon.cpp',
- 'platform/graphics/qt/MediaPlayerPrivatePhonon.h',
'platform/graphics/qt/MediaPlayerPrivateQt.cpp',
'platform/graphics/qt/MediaPlayerPrivateQt.h',
'platform/graphics/qt/PathQt.cpp',
diff --git a/src/3rdparty/webkit/Source/WebCore/WebCore.pri b/src/3rdparty/webkit/Source/WebCore/WebCore.pri
index 4f5d723173..4ba1117614 100644
--- a/src/3rdparty/webkit/Source/WebCore/WebCore.pri
+++ b/src/3rdparty/webkit/Source/WebCore/WebCore.pri
@@ -262,17 +262,6 @@ contains(DEFINES, ENABLE_VIDEO=1) {
CONFIG *= mobility
MOBILITY *= multimedia
DEFINES += WTF_USE_QT_MULTIMEDIA=1
- } else:contains(QT_CONFIG, phonon) {
- # Add phonon manually to prevent it from coming first in
- # the include paths, as Phonon's path.h conflicts with
- # WebCore's Path.h on case-insensitive filesystems.
- qtAddLibrary(phonon)
- INCLUDEPATH -= $$QT.phonon.includes
- INCLUDEPATH += $$QT.phonon.includes
- mac {
- INCLUDEPATH -= $$QT.phonon.libs/phonon.framework/Headers
- INCLUDEPATH += $$QT.phonon.libs/phonon.framework/Headers
- }
}
}
diff --git a/src/3rdparty/webkit/Source/WebCore/WebCore.pro b/src/3rdparty/webkit/Source/WebCore/WebCore.pro
index 03cdf4ec3c..107ff351fd 100644
--- a/src/3rdparty/webkit/Source/WebCore/WebCore.pro
+++ b/src/3rdparty/webkit/Source/WebCore/WebCore.pro
@@ -2985,12 +2985,6 @@ contains(DEFINES, ENABLE_VIDEO=1) {
SOURCES += \
platform/graphics/qt/MediaPlayerPrivateQt.cpp
- } else:contains(QT_CONFIG, phonon) {
- HEADERS += \
- platform/graphics/qt/MediaPlayerPrivatePhonon.h
-
- SOURCES += \
- platform/graphics/qt/MediaPlayerPrivatePhonon.cpp
}
}
diff --git a/src/3rdparty/webkit/Source/WebCore/bridge/qt/qt_runtime.cpp b/src/3rdparty/webkit/Source/WebCore/bridge/qt/qt_runtime.cpp
index 4bca36160d..a46c0924a6 100644
--- a/src/3rdparty/webkit/Source/WebCore/bridge/qt/qt_runtime.cpp
+++ b/src/3rdparty/webkit/Source/WebCore/bridge/qt/qt_runtime.cpp
@@ -776,11 +776,21 @@ QVariant convertValueToQVariant(ExecState* exec, JSValue value, QMetaType::Type
} else if (QtPixmapInstance::canHandle(static_cast<QMetaType::Type>(hint))) {
ret = QtPixmapInstance::variantFromObject(object, static_cast<QMetaType::Type>(hint));
} else if (hint == (QMetaType::Type) qMetaTypeId<QWebElement>()) {
- if (object && object->inherits(&JSHTMLElement::s_info))
- ret = QVariant::fromValue<QWebElement>(QtWebElementRuntime::create((static_cast<JSHTMLElement*>(object))->impl()));
- else if (object && object->inherits(&JSDocument::s_info))
+ if (object && object->inherits(&JSElement::s_info)) {
+ ret = QVariant::fromValue<QWebElement>(QtWebElementRuntime::create((static_cast<JSElement*>(object))->impl()));
+ dist = 0;
+ // Allow other objects to reach this one. This won't cause our algorithm to
+ // loop since when we find an Element we do not recurse.
+ visitedObjects->remove(object);
+ break;
+ }
+ if (object && object->inherits(&JSDocument::s_info)) {
+ // To support LayoutTestControllerQt::nodesFromRect(), used in DRT, we do an implicit
+ // conversion from 'document' to the QWebElement representing the 'document.documentElement'.
+ // We can't simply use a QVariantMap in nodesFromRect() because it currently times out
+ // when serializing DOMMimeType and DOMPlugin, even if we limit the recursion.
ret = QVariant::fromValue<QWebElement>(QtWebElementRuntime::create((static_cast<JSDocument*>(object))->impl()->documentElement()));
- else
+ } else
ret = QVariant::fromValue<QWebElement>(QWebElement());
} else if (hint == (QMetaType::Type) qMetaTypeId<QDRTNode>()) {
if (object && object->inherits(&JSNode::s_info))
diff --git a/src/3rdparty/webkit/Source/WebCore/css/CSSParser.cpp b/src/3rdparty/webkit/Source/WebCore/css/CSSParser.cpp
index 6ff88acee0..641ae05e38 100644
--- a/src/3rdparty/webkit/Source/WebCore/css/CSSParser.cpp
+++ b/src/3rdparty/webkit/Source/WebCore/css/CSSParser.cpp
@@ -5934,6 +5934,9 @@ int CSSParser::lex(void* yylvalWithoutType)
case FUNCTION:
case ANYFUNCTION:
case NOTFUNCTION:
+ case CALCFUNCTION:
+ case MINFUNCTION:
+ case MAXFUNCTION:
yylval->string.characters = t;
yylval->string.length = length;
break;
diff --git a/src/3rdparty/webkit/Source/WebCore/css/CSSStyleSelector.cpp b/src/3rdparty/webkit/Source/WebCore/css/CSSStyleSelector.cpp
index c1e4a14277..7bb30d3c29 100644
--- a/src/3rdparty/webkit/Source/WebCore/css/CSSStyleSelector.cpp
+++ b/src/3rdparty/webkit/Source/WebCore/css/CSSStyleSelector.cpp
@@ -619,8 +619,8 @@ static inline void collectElementIdentifierHashes(const Element* element, Vector
void CSSStyleSelector::pushParentStackFrame(Element* parent)
{
ASSERT(m_ancestorIdentifierFilter);
- ASSERT(m_parentStack.isEmpty() || m_parentStack.last().element == parent->parentElement());
- ASSERT(!m_parentStack.isEmpty() || !parent->parentElement());
+ ASSERT(m_parentStack.isEmpty() || m_parentStack.last().element == parent->parentOrHostElement());
+ ASSERT(!m_parentStack.isEmpty() || !parent->parentOrHostElement());
m_parentStack.append(ParentStackFrame(parent));
ParentStackFrame& parentFrame = m_parentStack.last();
// Mix tags, class names and ids into some sort of weird bouillabaisse.
@@ -652,16 +652,16 @@ void CSSStyleSelector::pushParent(Element* parent)
ASSERT(!m_ancestorIdentifierFilter);
m_ancestorIdentifierFilter = adoptPtr(new BloomFilter<bloomFilterKeyBits>);
// If the element is not the root itself, build the stack starting from the root.
- if (parent->parentElement()) {
+ if (parent->parentOrHostNode()) {
Vector<Element*, 30> ancestors;
- for (Element* ancestor = parent; ancestor; ancestor = ancestor->parentElement())
+ for (Element* ancestor = parent; ancestor; ancestor = ancestor->parentOrHostElement())
ancestors.append(ancestor);
int count = ancestors.size();
for (int n = count - 1; n >= 0; --n)
pushParentStackFrame(ancestors[n]);
return;
}
- } else if (!parent->parentElement()) {
+ } else if (!parent->parentOrHostElement()) {
// We are not always invoked consistently. For example, script execution can cause us to enter
// style recalc in the middle of tree building. Reset the stack if we see a new root element.
ASSERT(m_ancestorIdentifierFilter);
@@ -671,7 +671,7 @@ void CSSStyleSelector::pushParent(Element* parent)
ASSERT(m_ancestorIdentifierFilter);
// We may get invoked for some random elements in some wacky cases during style resolve.
// Pause maintaining the stack in this case.
- if (m_parentStack.last().element != parent->parentElement())
+ if (m_parentStack.last().element != parent->parentOrHostElement())
return;
}
pushParentStackFrame(parent);
diff --git a/src/3rdparty/webkit/Source/WebCore/css/MediaQueryEvaluator.cpp b/src/3rdparty/webkit/Source/WebCore/css/MediaQueryEvaluator.cpp
index fa2e0997be..c97658e6ad 100644
--- a/src/3rdparty/webkit/Source/WebCore/css/MediaQueryEvaluator.cpp
+++ b/src/3rdparty/webkit/Source/WebCore/css/MediaQueryEvaluator.cpp
@@ -532,7 +532,7 @@ bool MediaQueryEvaluator::eval(const MediaQueryExp* expr) const
// used
EvalFunc func = gFunctionMap->get(expr->mediaFeature().impl());
if (func)
- return func(expr->value(), m_style, m_frame, NoPrefix);
+ return func(expr->value(), m_style.get(), m_frame, NoPrefix);
return false;
}
diff --git a/src/3rdparty/webkit/Source/WebCore/css/MediaQueryEvaluator.h b/src/3rdparty/webkit/Source/WebCore/css/MediaQueryEvaluator.h
index 07c4d0dc8b..05c8dc9c4e 100644
--- a/src/3rdparty/webkit/Source/WebCore/css/MediaQueryEvaluator.h
+++ b/src/3rdparty/webkit/Source/WebCore/css/MediaQueryEvaluator.h
@@ -83,7 +83,7 @@ public:
private:
String m_mediaType;
Frame* m_frame; // not owned
- RenderStyle* m_style; // not owned
+ RefPtr<RenderStyle> m_style;
bool m_expResult;
};
diff --git a/src/3rdparty/webkit/Source/WebCore/css/fullscreenQuickTime.css b/src/3rdparty/webkit/Source/WebCore/css/fullscreenQuickTime.css
index 80cf9e4474..b174133c32 100644
--- a/src/3rdparty/webkit/Source/WebCore/css/fullscreenQuickTime.css
+++ b/src/3rdparty/webkit/Source/WebCore/css/fullscreenQuickTime.css
@@ -145,7 +145,7 @@ video:-webkit-full-screen::-webkit-media-controls-timeline-container {
right: 8px;
}
-video:-webkit-full-screen::video::-webkit-media-controls-status-display {
+video:-webkit-full-screen::-webkit-media-controls-status-display {
width: 420px;
position: absolute;
bottom: 9px;
diff --git a/src/3rdparty/webkit/Source/WebCore/dom/Node.cpp b/src/3rdparty/webkit/Source/WebCore/dom/Node.cpp
index ee49aeeeb2..688fdff00d 100644
--- a/src/3rdparty/webkit/Source/WebCore/dom/Node.cpp
+++ b/src/3rdparty/webkit/Source/WebCore/dom/Node.cpp
@@ -1719,6 +1719,22 @@ bool Node::isInShadowTree()
return false;
}
+Element* Node::parentOrHostElement() const
+{
+ ContainerNode* parent = parentOrHostNode();
+ if (!parent)
+ return 0;
+
+ if (parent->isShadowRoot())
+ parent = parent->shadowHost();
+
+ if (!parent->isElementNode())
+ return 0;
+
+ return toElement(parent);
+}
+
+
bool Node::isBlockFlow() const
{
return renderer() && renderer()->isBlockFlow();
diff --git a/src/3rdparty/webkit/Source/WebCore/dom/Node.h b/src/3rdparty/webkit/Source/WebCore/dom/Node.h
index bd4d4141b4..07ed5b526a 100644
--- a/src/3rdparty/webkit/Source/WebCore/dom/Node.h
+++ b/src/3rdparty/webkit/Source/WebCore/dom/Node.h
@@ -219,6 +219,7 @@ public:
bool isInShadowTree();
// Node's parent, shadow tree host, or SVG use.
ContainerNode* parentOrHostNode() const;
+ Element* parentOrHostElement() const;
// Use when it's guaranteed to that shadowHost is 0 and svgShadowHost is 0.
ContainerNode* parentNodeGuaranteedHostFree() const;
diff --git a/src/3rdparty/webkit/Source/WebCore/editing/InsertParagraphSeparatorCommand.cpp b/src/3rdparty/webkit/Source/WebCore/editing/InsertParagraphSeparatorCommand.cpp
index 2b7ee8cea3..33f3df444c 100644
--- a/src/3rdparty/webkit/Source/WebCore/editing/InsertParagraphSeparatorCommand.cpp
+++ b/src/3rdparty/webkit/Source/WebCore/editing/InsertParagraphSeparatorCommand.cpp
@@ -347,7 +347,11 @@ void InsertParagraphSeparatorCommand::doApply()
if (insertionPosition.containerNode() == startBlock)
n = insertionPosition.computeNodeAfterPosition();
else {
- splitTreeToNode(insertionPosition.containerNode(), startBlock);
+ Node* splitTo = insertionPosition.containerNode();
+ if (splitTo->isTextNode() && insertionPosition.offsetInContainerNode() >= caretMaxOffset(splitTo))
+ splitTo = splitTo->traverseNextNode(startBlock);
+ ASSERT(splitTo);
+ splitTreeToNode(splitTo, startBlock);
for (n = startBlock->firstChild(); n; n = n->nextSibling()) {
if (comparePositions(VisiblePosition(insertionPosition), positionBeforeNode(n)) <= 0)
diff --git a/src/3rdparty/webkit/Source/WebCore/editing/TextIterator.cpp b/src/3rdparty/webkit/Source/WebCore/editing/TextIterator.cpp
index c3be2779cd..b09c226732 100644
--- a/src/3rdparty/webkit/Source/WebCore/editing/TextIterator.cpp
+++ b/src/3rdparty/webkit/Source/WebCore/editing/TextIterator.cpp
@@ -459,7 +459,7 @@ bool TextIterator::handleTextNode()
emitCharacter(' ', m_node, 0, runStart, runStart);
return false;
}
- if (!m_handledFirstLetter && renderer->isTextFragment()) {
+ if (!m_handledFirstLetter && renderer->isTextFragment() && !m_offset) {
handleTextNodeFirstLetter(static_cast<RenderTextFragment*>(renderer));
if (m_firstLetterText) {
String firstLetter = m_firstLetterText->text();
@@ -496,6 +496,14 @@ bool TextIterator::handleTextNode()
return true;
}
+
+ m_textBox = renderer->firstTextBox();
+ if (!m_handledFirstLetter && renderer->isTextFragment() && !m_offset)
+ handleTextNodeFirstLetter(static_cast<RenderTextFragment*>(renderer));
+
+ if (m_firstLetterText)
+ renderer = m_firstLetterText;
+
// Used when text boxes are out of order (Hebrew/Arabic w/ embeded LTR text)
if (renderer->containsReversedText()) {
m_sortedTextBoxes.clear();
@@ -504,11 +512,9 @@ bool TextIterator::handleTextNode()
}
std::sort(m_sortedTextBoxes.begin(), m_sortedTextBoxes.end(), InlineTextBox::compareByStart);
m_sortedTextBoxesPosition = 0;
+ m_textBox = m_sortedTextBoxes.isEmpty() ? 0 : m_sortedTextBoxes[0];
}
-
- m_textBox = renderer->containsReversedText() ? (m_sortedTextBoxes.isEmpty() ? 0 : m_sortedTextBoxes[0]) : renderer->firstTextBox();
- if (!m_handledFirstLetter && renderer->isTextFragment() && !m_offset)
- handleTextNodeFirstLetter(static_cast<RenderTextFragment*>(renderer));
+
handleTextBox();
return true;
}
@@ -975,6 +981,9 @@ void TextIterator::emitText(Node* textNode, RenderObject* renderObject, int text
RenderText* renderer = toRenderText(renderObject);
m_text = m_emitsTextWithoutTranscoding ? renderer->textWithoutTranscoding() : renderer->text();
ASSERT(m_text.characters());
+ ASSERT(0 <= textStartOffset && textStartOffset < static_cast<int>(m_text.length()));
+ ASSERT(0 <= textEndOffset && textEndOffset <= static_cast<int>(m_text.length()));
+ ASSERT(textStartOffset <= textEndOffset);
m_positionNode = textNode;
m_positionOffsetBaseNode = 0;
diff --git a/src/3rdparty/webkit/Source/WebCore/features.pri b/src/3rdparty/webkit/Source/WebCore/features.pri
index 9614a419a8..c56c9fc520 100644
--- a/src/3rdparty/webkit/Source/WebCore/features.pri
+++ b/src/3rdparty/webkit/Source/WebCore/features.pri
@@ -157,7 +157,7 @@ symbian|maemo5|maemo6 {
!contains(DEFINES, ENABLE_TOUCH_EVENTS=.): DEFINES += ENABLE_TOUCH_EVENTS=1
# HTML5 Media Support
-# We require QtMultimedia or Phonon
+# We require QtMultimedia
!contains(DEFINES, ENABLE_VIDEO=.) {
DEFINES -= ENABLE_VIDEO=1
DEFINES += ENABLE_VIDEO=0
@@ -177,11 +177,6 @@ symbian|maemo5|maemo6 {
DEFINES += ENABLE_VIDEO=1
DEFINES -= WTF_USE_QT_MULTIMEDIA=0
DEFINES += WTF_USE_QT_MULTIMEDIA=1
- } else:contains(QT_CONFIG, phonon) {
- DEFINES -= ENABLE_VIDEO=0
- DEFINES += ENABLE_VIDEO=1
- DEFINES -= WTF_USE_QT_MULTIMEDIA=1
- DEFINES += WTF_USE_QT_MULTIMEDIA=0
}
}
diff --git a/src/3rdparty/webkit/Source/WebCore/generated/CSSGrammar.cpp b/src/3rdparty/webkit/Source/WebCore/generated/CSSGrammar.cpp
index a57ff6b306..1da5e2f85c 100644
--- a/src/3rdparty/webkit/Source/WebCore/generated/CSSGrammar.cpp
+++ b/src/3rdparty/webkit/Source/WebCore/generated/CSSGrammar.cpp
@@ -1,24 +1,21 @@
-/* A Bison parser, made by GNU Bison 2.3. */
+/* A Bison parser, made by GNU Bison 2.5. */
-/* Skeleton implementation for Bison's Yacc-like parsers in C
-
- Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
- Free Software Foundation, Inc.
-
- This program is free software; you can redistribute it and/or modify
+/* Bison implementation for Yacc-like parsers in C
+
+ Copyright (C) 1984, 1989-1990, 2000-2011 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2, or (at your option)
- any later version.
-
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
-
+
You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 51 Franklin Street, Fifth Floor,
- Boston, MA 02110-1301, USA. */
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
/* As a special exception, you may create a larger work that contains
part or all of the Bison parser skeleton and distribute that work
@@ -29,7 +26,7 @@
special exception, which will cause the skeleton and the resulting
Bison output files to be licensed under the GNU General Public
License without this special exception.
-
+
This special exception was added by the Free Software Foundation in
version 2.2 of Bison. */
@@ -47,7 +44,7 @@
#define YYBISON 1
/* Bison version. */
-#define YYBISON_VERSION "2.3"
+#define YYBISON_VERSION "2.5"
/* Skeleton name. */
#define YYSKELETON_NAME "yacc.c"
@@ -55,17 +52,109 @@
/* Pure parsers. */
#define YYPURE 1
+/* Push parsers. */
+#define YYPUSH 0
+
+/* Pull parsers. */
+#define YYPULL 1
+
/* Using locations. */
#define YYLSP_NEEDED 0
/* Substitute the variable and function names. */
-#define yyparse cssyyparse
-#define yylex cssyylex
-#define yyerror cssyyerror
-#define yylval cssyylval
-#define yychar cssyychar
-#define yydebug cssyydebug
-#define yynerrs cssyynerrs
+#define yyparse cssyyparse
+#define yylex cssyylex
+#define yyerror cssyyerror
+#define yylval cssyylval
+#define yychar cssyychar
+#define yydebug cssyydebug
+#define yynerrs cssyynerrs
+
+
+/* Copy the first part of user declarations. */
+
+/* Line 268 of yacc.c */
+#line 1 "../Source/WebCore/css/CSSGrammar.y"
+
+
+/*
+ * Copyright (C) 2002-2003 Lars Knoll (knoll@kde.org)
+ * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights reserved.
+ * Copyright (C) 2006 Alexey Proskuryakov (ap@nypop.com)
+ * Copyright (C) 2008 Eric Seidel <eric@webkit.org>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ *
+ */
+
+#include "config.h"
+
+#include "CSSMediaRule.h"
+#include "CSSParser.h"
+#include "CSSPrimitiveValue.h"
+#include "CSSPropertyNames.h"
+#include "CSSRuleList.h"
+#include "CSSSelector.h"
+#include "CSSStyleSheet.h"
+#include "Document.h"
+#include "HTMLNames.h"
+#include "MediaList.h"
+#include "MediaQueryExp.h"
+#include "WebKitCSSKeyframeRule.h"
+#include "WebKitCSSKeyframesRule.h"
+#include <wtf/FastMalloc.h>
+#include <stdlib.h>
+#include <string.h>
+
+using namespace WebCore;
+using namespace HTMLNames;
+
+#define YYMALLOC fastMalloc
+#define YYFREE fastFree
+
+#define YYENABLE_NLS 0
+#define YYLTYPE_IS_TRIVIAL 1
+#define YYMAXDEPTH 10000
+#define YYDEBUG 0
+
+// FIXME: Replace with %parse-param { CSSParser* parser } once we can depend on bison 2.x
+#define YYPARSE_PARAM parser
+#define YYLEX_PARAM parser
+
+
+
+/* Line 268 of yacc.c */
+#line 140 "/Source/WebCore/generated/CSSGrammar.tab.c"
+
+/* Enabling traces. */
+#ifndef YYDEBUG
+# define YYDEBUG 0
+#endif
+
+/* Enabling verbose error messages. */
+#ifdef YYERROR_VERBOSE
+# undef YYERROR_VERBOSE
+# define YYERROR_VERBOSE 1
+#else
+# define YYERROR_VERBOSE 0
+#endif
+
+/* Enabling the token table. */
+#ifndef YYTOKEN_TABLE
+# define YYTOKEN_TABLE 0
+#endif
/* Tokens. */
@@ -156,175 +245,16 @@
UNICODERANGE = 336
};
#endif
-/* Tokens. */
-#define TOKEN_EOF 0
-#define LOWEST_PREC 258
-#define UNIMPORTANT_TOK 259
-#define WHITESPACE 260
-#define SGML_CD 261
-#define INCLUDES 262
-#define DASHMATCH 263
-#define BEGINSWITH 264
-#define ENDSWITH 265
-#define CONTAINS 266
-#define STRING 267
-#define IDENT 268
-#define NTH 269
-#define HEX 270
-#define IDSEL 271
-#define IMPORT_SYM 272
-#define PAGE_SYM 273
-#define MEDIA_SYM 274
-#define FONT_FACE_SYM 275
-#define CHARSET_SYM 276
-#define NAMESPACE_SYM 277
-#define WEBKIT_RULE_SYM 278
-#define WEBKIT_DECLS_SYM 279
-#define WEBKIT_KEYFRAME_RULE_SYM 280
-#define WEBKIT_KEYFRAMES_SYM 281
-#define WEBKIT_VALUE_SYM 282
-#define WEBKIT_MEDIAQUERY_SYM 283
-#define WEBKIT_SELECTOR_SYM 284
-#define TOPLEFTCORNER_SYM 285
-#define TOPLEFT_SYM 286
-#define TOPCENTER_SYM 287
-#define TOPRIGHT_SYM 288
-#define TOPRIGHTCORNER_SYM 289
-#define BOTTOMLEFTCORNER_SYM 290
-#define BOTTOMLEFT_SYM 291
-#define BOTTOMCENTER_SYM 292
-#define BOTTOMRIGHT_SYM 293
-#define BOTTOMRIGHTCORNER_SYM 294
-#define LEFTTOP_SYM 295
-#define LEFTMIDDLE_SYM 296
-#define LEFTBOTTOM_SYM 297
-#define RIGHTTOP_SYM 298
-#define RIGHTMIDDLE_SYM 299
-#define RIGHTBOTTOM_SYM 300
-#define ATKEYWORD 301
-#define IMPORTANT_SYM 302
-#define MEDIA_ONLY 303
-#define MEDIA_NOT 304
-#define MEDIA_AND 305
-#define REMS 306
-#define QEMS 307
-#define EMS 308
-#define EXS 309
-#define PXS 310
-#define CMS 311
-#define MMS 312
-#define INS 313
-#define PTS 314
-#define PCS 315
-#define DEGS 316
-#define RADS 317
-#define GRADS 318
-#define TURNS 319
-#define MSECS 320
-#define SECS 321
-#define HERTZ 322
-#define KHERTZ 323
-#define DIMEN 324
-#define INVALIDDIMEN 325
-#define PERCENTAGE 326
-#define FLOATTOKEN 327
-#define INTEGER 328
-#define URI 329
-#define FUNCTION 330
-#define ANYFUNCTION 331
-#define NOTFUNCTION 332
-#define CALCFUNCTION 333
-#define MINFUNCTION 334
-#define MAXFUNCTION 335
-#define UNICODERANGE 336
-
-/* Copy the first part of user declarations. */
-#line 1 "../Source/WebCore/css/CSSGrammar.y"
-
-
-/*
- * Copyright (C) 2002-2003 Lars Knoll (knoll@kde.org)
- * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights reserved.
- * Copyright (C) 2006 Alexey Proskuryakov (ap@nypop.com)
- * Copyright (C) 2008 Eric Seidel <eric@webkit.org>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- *
- */
-
-#include "config.h"
-
-#include "CSSMediaRule.h"
-#include "CSSParser.h"
-#include "CSSPrimitiveValue.h"
-#include "CSSPropertyNames.h"
-#include "CSSRuleList.h"
-#include "CSSSelector.h"
-#include "CSSStyleSheet.h"
-#include "Document.h"
-#include "HTMLNames.h"
-#include "MediaList.h"
-#include "MediaQueryExp.h"
-#include "WebKitCSSKeyframeRule.h"
-#include "WebKitCSSKeyframesRule.h"
-#include <wtf/FastMalloc.h>
-#include <stdlib.h>
-#include <string.h>
-
-using namespace WebCore;
-using namespace HTMLNames;
-
-#define YYMALLOC fastMalloc
-#define YYFREE fastFree
-
-#define YYENABLE_NLS 0
-#define YYLTYPE_IS_TRIVIAL 1
-#define YYMAXDEPTH 10000
-#define YYDEBUG 0
-
-// FIXME: Replace with %parse-param { CSSParser* parser } once we can depend on bison 2.x
-#define YYPARSE_PARAM parser
-#define YYLEX_PARAM parser
-
-
-
-/* Enabling traces. */
-#ifndef YYDEBUG
-# define YYDEBUG 0
-#endif
-
-/* Enabling verbose error messages. */
-#ifdef YYERROR_VERBOSE
-# undef YYERROR_VERBOSE
-# define YYERROR_VERBOSE 1
-#else
-# define YYERROR_VERBOSE 0
-#endif
-
-/* Enabling the token table. */
-#ifndef YYTOKEN_TABLE
-# define YYTOKEN_TABLE 0
-#endif
-
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
typedef union YYSTYPE
-#line 63 "../Source/WebCore/css/CSSGrammar.y"
{
+
+/* Line 293 of yacc.c */
+#line 63 "../Source/WebCore/css/CSSGrammar.y"
+
bool boolean;
char character;
int integer;
@@ -347,18 +277,21 @@ typedef union YYSTYPE
WebKitCSSKeyframeRule* keyframeRule;
WebKitCSSKeyframesRule* keyframesRule;
float val;
-}
-/* Line 193 of yacc.c. */
-#line 353 "/Source/WebCore/generated/CSSGrammar.tab.c"
- YYSTYPE;
+
+
+
+/* Line 293 of yacc.c */
+#line 285 "/Source/WebCore/generated/CSSGrammar.tab.c"
+} YYSTYPE;
+# define YYSTYPE_IS_TRIVIAL 1
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
-# define YYSTYPE_IS_TRIVIAL 1
#endif
-
/* Copy the second part of user declarations. */
+
+/* Line 343 of yacc.c */
#line 88 "../Source/WebCore/css/CSSGrammar.y"
@@ -374,8 +307,8 @@ static int cssyylex(YYSTYPE* yylval, void* parser)
-/* Line 216 of yacc.c. */
-#line 379 "/Source/WebCore/generated/CSSGrammar.tab.c"
+/* Line 343 of yacc.c */
+#line 312 "/Source/WebCore/generated/CSSGrammar.tab.c"
#ifdef short
# undef short
@@ -450,14 +383,14 @@ typedef short int yytype_int16;
#if (defined __STDC__ || defined __C99__FUNC__ \
|| defined __cplusplus || defined _MSC_VER)
static int
-YYID (int i)
+YYID (int yyi)
#else
static int
-YYID (i)
- int i;
+YYID (yyi)
+ int yyi;
#endif
{
- return i;
+ return yyi;
}
#endif
@@ -478,11 +411,11 @@ YYID (i)
# define alloca _alloca
# else
# define YYSTACK_ALLOC alloca
-# if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
+# if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
|| defined __cplusplus || defined _MSC_VER)
# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
-# ifndef _STDLIB_H
-# define _STDLIB_H 1
+# ifndef EXIT_SUCCESS
+# define EXIT_SUCCESS 0
# endif
# endif
# endif
@@ -505,24 +438,24 @@ YYID (i)
# ifndef YYSTACK_ALLOC_MAXIMUM
# define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
# endif
-# if (defined __cplusplus && ! defined _STDLIB_H \
+# if (defined __cplusplus && ! defined EXIT_SUCCESS \
&& ! ((defined YYMALLOC || defined malloc) \
&& (defined YYFREE || defined free)))
# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
-# ifndef _STDLIB_H
-# define _STDLIB_H 1
+# ifndef EXIT_SUCCESS
+# define EXIT_SUCCESS 0
# endif
# endif
# ifndef YYMALLOC
# define YYMALLOC malloc
-# if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
+# if ! defined malloc && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
|| defined __cplusplus || defined _MSC_VER)
void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
# endif
# endif
# ifndef YYFREE
# define YYFREE free
-# if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
+# if ! defined free && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
|| defined __cplusplus || defined _MSC_VER)
void free (void *); /* INFRINGES ON USER NAME SPACE */
# endif
@@ -538,9 +471,9 @@ void free (void *); /* INFRINGES ON USER NAME SPACE */
/* A type that is properly aligned for any stack member. */
union yyalloc
{
- yytype_int16 yyss;
- YYSTYPE yyvs;
- };
+ yytype_int16 yyss_alloc;
+ YYSTYPE yyvs_alloc;
+};
/* The size of the maximum gap between one aligned stack and the next. */
# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
@@ -551,6 +484,27 @@ union yyalloc
((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
+ YYSTACK_GAP_MAXIMUM)
+# define YYCOPY_NEEDED 1
+
+/* Relocate STACK from its old location to the new one. The
+ local variables YYSIZE and YYSTACKSIZE give the old and new number of
+ elements in the stack, and YYPTR gives the new location of the
+ stack. Advance YYPTR to a properly aligned location for the next
+ stack. */
+# define YYSTACK_RELOCATE(Stack_alloc, Stack) \
+ do \
+ { \
+ YYSIZE_T yynewbytes; \
+ YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
+ Stack = &yyptr->Stack_alloc; \
+ yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
+ yyptr += yynewbytes / sizeof (*yyptr); \
+ } \
+ while (YYID (0))
+
+#endif
+
+#if defined YYCOPY_NEEDED && YYCOPY_NEEDED
/* Copy COUNT objects from FROM to TO. The source and destination do
not overlap. */
# ifndef YYCOPY
@@ -568,24 +522,7 @@ union yyalloc
while (YYID (0))
# endif
# endif
-
-/* Relocate STACK from its old location to the new one. The
- local variables YYSIZE and YYSTACKSIZE give the old and new number of
- elements in the stack, and YYPTR gives the new location of the
- stack. Advance YYPTR to a properly aligned location for the next
- stack. */
-# define YYSTACK_RELOCATE(Stack) \
- do \
- { \
- YYSIZE_T yynewbytes; \
- YYCOPY (&yyptr->Stack, Stack, yysize); \
- Stack = &yyptr->Stack; \
- yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
- yyptr += yynewbytes / sizeof (*yyptr); \
- } \
- while (YYID (0))
-
-#endif
+#endif /* !YYCOPY_NEEDED */
/* YYFINAL -- State number of the termination state. */
#define YYFINAL 21
@@ -856,7 +793,7 @@ static const char *const yytname[] =
"maybe_media_restrictor", "media_query", "maybe_media_list",
"media_list", "media", "medium", "keyframes", "keyframe_name",
"keyframes_rule", "keyframe_rule", "key_list", "key", "page",
- "page_selector", "declarations_and_margins", "margin_box", "@1",
+ "page_selector", "declarations_and_margins", "margin_box", "$@1",
"margin_sym", "font_face", "combinator", "maybe_unary_operator",
"unary_operator", "maybe_space_before_declaration", "before_ruleset",
"before_rule_opening_brace", "ruleset", "selector_list",
@@ -961,8 +898,8 @@ static const yytype_uint8 yyr2[] =
3
};
-/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
- STATE-NUM when YYTABLE doesn't specify something else to do. Zero
+/* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM.
+ Performed when YYTABLE doesn't specify something else to do. Zero
means the default is an error. */
static const yytype_uint16 yydefact[] =
{
@@ -1117,8 +1054,7 @@ static const yytype_int16 yypgoto[] =
/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
positive, shift that token. If negative, reduce the rule which
- number is the opposite. If zero, do what YYDEFACT says.
- If YYTABLE_NINF, syntax error. */
+ number is the opposite. If YYTABLE_NINF, syntax error. */
#define YYTABLE_NINF -276
static const yytype_int16 yytable[] =
{
@@ -1292,6 +1228,12 @@ static const yytype_int16 yytable[] =
87, 88, 0, 0, 90, 91, 92
};
+#define yypact_value_is_default(yystate) \
+ ((yystate) == (-305))
+
+#define yytable_value_is_error(yytable_value) \
+ YYID (0)
+
static const yytype_int16 yycheck[] =
{
0, 87, 127, 37, 243, 212, 5, 250, 8, 9,
@@ -1537,9 +1479,18 @@ static const yytype_uint8 yystos[] =
/* Like YYERROR except do call yyerror. This remains here temporarily
to ease the transition to the new meaning of YYERROR, for GCC.
- Once GCC version 2 has supplanted version 1, this can go. */
+ Once GCC version 2 has supplanted version 1, this can go. However,
+ YYFAIL appears to be in use. Nevertheless, it is formally deprecated
+ in Bison 2.4.2's NEWS entry, where a plan to phase it out is
+ discussed. */
#define YYFAIL goto yyerrlab
+#if defined YYFAIL
+ /* This is here to suppress warnings from the GCC cpp's
+ -Wunused-macros. Normally we don't worry about that warning, but
+ some users do, and we want to make it easy for users to remove
+ YYFAIL uses, which will produce warnings from Bison 2.5. */
+#endif
#define YYRECOVERING() (!!yyerrstatus)
@@ -1549,7 +1500,6 @@ do \
{ \
yychar = (Token); \
yylval = (Value); \
- yytoken = YYTRANSLATE (yychar); \
YYPOPSTACK (1); \
goto yybackup; \
} \
@@ -1591,19 +1541,10 @@ while (YYID (0))
#endif
-/* YY_LOCATION_PRINT -- Print the location on the stream.
- This macro was not mandated originally: define only if we know
- we won't break user code: when these are the locations we know. */
+/* This macro is provided for backward compatibility. */
#ifndef YY_LOCATION_PRINT
-# if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
-# define YY_LOCATION_PRINT(File, Loc) \
- fprintf (File, "%d.%d-%d.%d", \
- (Loc).first_line, (Loc).first_column, \
- (Loc).last_line, (Loc).last_column)
-# else
-# define YY_LOCATION_PRINT(File, Loc) ((void) 0)
-# endif
+# define YY_LOCATION_PRINT(File, Loc) ((void) 0)
#endif
@@ -1707,17 +1648,20 @@ yy_symbol_print (yyoutput, yytype, yyvaluep)
#if (defined __STDC__ || defined __C99__FUNC__ \
|| defined __cplusplus || defined _MSC_VER)
static void
-yy_stack_print (yytype_int16 *bottom, yytype_int16 *top)
+yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
#else
static void
-yy_stack_print (bottom, top)
- yytype_int16 *bottom;
- yytype_int16 *top;
+yy_stack_print (yybottom, yytop)
+ yytype_int16 *yybottom;
+ yytype_int16 *yytop;
#endif
{
YYFPRINTF (stderr, "Stack now");
- for (; bottom <= top; ++bottom)
- YYFPRINTF (stderr, " %d", *bottom);
+ for (; yybottom <= yytop; yybottom++)
+ {
+ int yybot = *yybottom;
+ YYFPRINTF (stderr, " %d", yybot);
+ }
YYFPRINTF (stderr, "\n");
}
@@ -1751,11 +1695,11 @@ yy_reduce_print (yyvsp, yyrule)
/* The symbols being reduced. */
for (yyi = 0; yyi < yynrhs; yyi++)
{
- fprintf (stderr, " $%d = ", yyi + 1);
+ YYFPRINTF (stderr, " $%d = ", yyi + 1);
yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
&(yyvsp[(yyi + 1) - (yynrhs)])
);
- fprintf (stderr, "\n");
+ YYFPRINTF (stderr, "\n");
}
}
@@ -1792,7 +1736,6 @@ int yydebug;
# define YYMAXDEPTH 10000
#endif
-
#if YYERROR_VERBOSE
@@ -1895,115 +1838,142 @@ yytnamerr (char *yyres, const char *yystr)
}
# endif
-/* Copy into YYRESULT an error message about the unexpected token
- YYCHAR while in state YYSTATE. Return the number of bytes copied,
- including the terminating null byte. If YYRESULT is null, do not
- copy anything; just return the number of bytes that would be
- copied. As a special case, return 0 if an ordinary "syntax error"
- message will do. Return YYSIZE_MAXIMUM if overflow occurs during
- size calculation. */
-static YYSIZE_T
-yysyntax_error (char *yyresult, int yystate, int yychar)
-{
- int yyn = yypact[yystate];
+/* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message
+ about the unexpected token YYTOKEN for the state stack whose top is
+ YYSSP.
- if (! (YYPACT_NINF < yyn && yyn <= YYLAST))
- return 0;
- else
- {
- int yytype = YYTRANSLATE (yychar);
- YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
- YYSIZE_T yysize = yysize0;
- YYSIZE_T yysize1;
- int yysize_overflow = 0;
- enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
- char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
- int yyx;
-
-# if 0
- /* This is so xgettext sees the translatable formats that are
- constructed on the fly. */
- YY_("syntax error, unexpected %s");
- YY_("syntax error, unexpected %s, expecting %s");
- YY_("syntax error, unexpected %s, expecting %s or %s");
- YY_("syntax error, unexpected %s, expecting %s or %s or %s");
- YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
-# endif
- char *yyfmt;
- char const *yyf;
- static char const yyunexpected[] = "syntax error, unexpected %s";
- static char const yyexpecting[] = ", expecting %s";
- static char const yyor[] = " or %s";
- char yyformat[sizeof yyunexpected
- + sizeof yyexpecting - 1
- + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
- * (sizeof yyor - 1))];
- char const *yyprefix = yyexpecting;
-
- /* Start YYX at -YYN if negative to avoid negative indexes in
- YYCHECK. */
- int yyxbegin = yyn < 0 ? -yyn : 0;
-
- /* Stay within bounds of both yycheck and yytname. */
- int yychecklim = YYLAST - yyn + 1;
- int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
- int yycount = 1;
-
- yyarg[0] = yytname[yytype];
- yyfmt = yystpcpy (yyformat, yyunexpected);
-
- for (yyx = yyxbegin; yyx < yyxend; ++yyx)
- if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
- {
- if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
- {
- yycount = 1;
- yysize = yysize0;
- yyformat[sizeof yyunexpected - 1] = '\0';
- break;
- }
- yyarg[yycount++] = yytname[yyx];
- yysize1 = yysize + yytnamerr (0, yytname[yyx]);
- yysize_overflow |= (yysize1 < yysize);
- yysize = yysize1;
- yyfmt = yystpcpy (yyfmt, yyprefix);
- yyprefix = yyor;
- }
+ Return 0 if *YYMSG was successfully written. Return 1 if *YYMSG is
+ not large enough to hold the message. In that case, also set
+ *YYMSG_ALLOC to the required number of bytes. Return 2 if the
+ required number of bytes is too large to store. */
+static int
+yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
+ yytype_int16 *yyssp, int yytoken)
+{
+ YYSIZE_T yysize0 = yytnamerr (0, yytname[yytoken]);
+ YYSIZE_T yysize = yysize0;
+ YYSIZE_T yysize1;
+ enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
+ /* Internationalized format string. */
+ const char *yyformat = 0;
+ /* Arguments of yyformat. */
+ char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
+ /* Number of reported tokens (one for the "unexpected", one per
+ "expected"). */
+ int yycount = 0;
+
+ /* There are many possibilities here to consider:
+ - Assume YYFAIL is not used. It's too flawed to consider. See
+ <http://lists.gnu.org/archive/html/bison-patches/2009-12/msg00024.html>
+ for details. YYERROR is fine as it does not invoke this
+ function.
+ - If this state is a consistent state with a default action, then
+ the only way this function was invoked is if the default action
+ is an error action. In that case, don't check for expected
+ tokens because there are none.
+ - The only way there can be no lookahead present (in yychar) is if
+ this state is a consistent state with a default action. Thus,
+ detecting the absence of a lookahead is sufficient to determine
+ that there is no unexpected or expected token to report. In that
+ case, just report a simple "syntax error".
+ - Don't assume there isn't a lookahead just because this state is a
+ consistent state with a default action. There might have been a
+ previous inconsistent state, consistent state with a non-default
+ action, or user semantic action that manipulated yychar.
+ - Of course, the expected token list depends on states to have
+ correct lookahead information, and it depends on the parser not
+ to perform extra reductions after fetching a lookahead from the
+ scanner and before detecting a syntax error. Thus, state merging
+ (from LALR or IELR) and default reductions corrupt the expected
+ token list. However, the list is correct for canonical LR with
+ one exception: it will still contain any token that will not be
+ accepted due to an error action in a later state.
+ */
+ if (yytoken != YYEMPTY)
+ {
+ int yyn = yypact[*yyssp];
+ yyarg[yycount++] = yytname[yytoken];
+ if (!yypact_value_is_default (yyn))
+ {
+ /* Start YYX at -YYN if negative to avoid negative indexes in
+ YYCHECK. In other words, skip the first -YYN actions for
+ this state because they are default actions. */
+ int yyxbegin = yyn < 0 ? -yyn : 0;
+ /* Stay within bounds of both yycheck and yytname. */
+ int yychecklim = YYLAST - yyn + 1;
+ int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
+ int yyx;
+
+ for (yyx = yyxbegin; yyx < yyxend; ++yyx)
+ if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR
+ && !yytable_value_is_error (yytable[yyx + yyn]))
+ {
+ if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
+ {
+ yycount = 1;
+ yysize = yysize0;
+ break;
+ }
+ yyarg[yycount++] = yytname[yyx];
+ yysize1 = yysize + yytnamerr (0, yytname[yyx]);
+ if (! (yysize <= yysize1
+ && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
+ return 2;
+ yysize = yysize1;
+ }
+ }
+ }
- yyf = YY_(yyformat);
- yysize1 = yysize + yystrlen (yyf);
- yysize_overflow |= (yysize1 < yysize);
- yysize = yysize1;
+ switch (yycount)
+ {
+# define YYCASE_(N, S) \
+ case N: \
+ yyformat = S; \
+ break
+ YYCASE_(0, YY_("syntax error"));
+ YYCASE_(1, YY_("syntax error, unexpected %s"));
+ YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
+ YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));
+ YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
+ YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
+# undef YYCASE_
+ }
- if (yysize_overflow)
- return YYSIZE_MAXIMUM;
+ yysize1 = yysize + yystrlen (yyformat);
+ if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
+ return 2;
+ yysize = yysize1;
- if (yyresult)
- {
- /* Avoid sprintf, as that infringes on the user's name space.
- Don't have undefined behavior even if the translation
- produced a string with the wrong number of "%s"s. */
- char *yyp = yyresult;
- int yyi = 0;
- while ((*yyp = *yyf) != '\0')
- {
- if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)
- {
- yyp += yytnamerr (yyp, yyarg[yyi++]);
- yyf += 2;
- }
- else
- {
- yyp++;
- yyf++;
- }
- }
- }
- return yysize;
+ if (*yymsg_alloc < yysize)
+ {
+ *yymsg_alloc = 2 * yysize;
+ if (! (yysize <= *yymsg_alloc
+ && *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM))
+ *yymsg_alloc = YYSTACK_ALLOC_MAXIMUM;
+ return 1;
}
+
+ /* Avoid sprintf, as that infringes on the user's name space.
+ Don't have undefined behavior even if the translation
+ produced a string with the wrong number of "%s"s. */
+ {
+ char *yyp = *yymsg;
+ int yyi = 0;
+ while ((*yyp = *yyformat) != '\0')
+ if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount)
+ {
+ yyp += yytnamerr (yyp, yyarg[yyi++]);
+ yyformat += 2;
+ }
+ else
+ {
+ yyp++;
+ yyformat++;
+ }
+ }
+ return 0;
}
#endif /* YYERROR_VERBOSE */
-
/*-----------------------------------------------.
| Release the memory associated to this symbol. |
@@ -2035,10 +2005,9 @@ yydestruct (yymsg, yytype, yyvaluep)
break;
}
}
-
-/* Prevent warnings from -Wmissing-prototypes. */
+/* Prevent warnings from -Wmissing-prototypes. */
#ifdef YYPARSE_PARAM
#if defined __STDC__ || defined __cplusplus
int yyparse (void *YYPARSE_PARAM);
@@ -2054,10 +2023,6 @@ int yyparse ();
#endif /* ! YYPARSE_PARAM */
-
-
-
-
/*----------.
| yyparse. |
`----------*/
@@ -2084,74 +2049,75 @@ yyparse ()
#endif
#endif
{
- /* The look-ahead symbol. */
+/* The lookahead symbol. */
int yychar;
-/* The semantic value of the look-ahead symbol. */
+/* The semantic value of the lookahead symbol. */
YYSTYPE yylval;
-/* Number of syntax errors so far. */
-int yynerrs;
-
- int yystate;
- int yyn;
- int yyresult;
- /* Number of tokens to shift before error messages enabled. */
- int yyerrstatus;
- /* Look-ahead token as an internal (translated) token number. */
- int yytoken = 0;
-#if YYERROR_VERBOSE
- /* Buffer for error messages, and its allocated size. */
- char yymsgbuf[128];
- char *yymsg = yymsgbuf;
- YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
-#endif
-
- /* Three stacks and their tools:
- `yyss': related to states,
- `yyvs': related to semantic values,
- `yyls': related to locations.
-
- Refer to the stacks thru separate pointers, to allow yyoverflow
- to reallocate them elsewhere. */
+ /* Number of syntax errors so far. */
+ int yynerrs;
- /* The state stack. */
- yytype_int16 yyssa[YYINITDEPTH];
- yytype_int16 *yyss = yyssa;
- yytype_int16 *yyssp;
+ int yystate;
+ /* Number of tokens to shift before error messages enabled. */
+ int yyerrstatus;
- /* The semantic value stack. */
- YYSTYPE yyvsa[YYINITDEPTH];
- YYSTYPE *yyvs = yyvsa;
- YYSTYPE *yyvsp;
+ /* The stacks and their tools:
+ `yyss': related to states.
+ `yyvs': related to semantic values.
+ Refer to the stacks thru separate pointers, to allow yyoverflow
+ to reallocate them elsewhere. */
+ /* The state stack. */
+ yytype_int16 yyssa[YYINITDEPTH];
+ yytype_int16 *yyss;
+ yytype_int16 *yyssp;
-#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
+ /* The semantic value stack. */
+ YYSTYPE yyvsa[YYINITDEPTH];
+ YYSTYPE *yyvs;
+ YYSTYPE *yyvsp;
- YYSIZE_T yystacksize = YYINITDEPTH;
+ YYSIZE_T yystacksize;
+ int yyn;
+ int yyresult;
+ /* Lookahead token as an internal (translated) token number. */
+ int yytoken;
/* The variables used to return semantic value and location from the
action routines. */
YYSTYPE yyval;
+#if YYERROR_VERBOSE
+ /* Buffer for error messages, and its allocated size. */
+ char yymsgbuf[128];
+ char *yymsg = yymsgbuf;
+ YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
+#endif
+
+#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
/* The number of symbols on the RHS of the reduced rule.
Keep to zero when no symbol should be popped. */
int yylen = 0;
+ yytoken = 0;
+ yyss = yyssa;
+ yyvs = yyvsa;
+ yystacksize = YYINITDEPTH;
+
YYDPRINTF ((stderr, "Starting parse\n"));
yystate = 0;
yyerrstatus = 0;
yynerrs = 0;
- yychar = YYEMPTY; /* Cause a token to be read. */
+ yychar = YYEMPTY; /* Cause a token to be read. */
/* Initialize stack pointers.
Waste one element of value and location stack
so that they stay on the same level as the state stack.
The wasted elements are never initialized. */
-
yyssp = yyss;
yyvsp = yyvs;
@@ -2181,7 +2147,6 @@ int yynerrs;
YYSTYPE *yyvs1 = yyvs;
yytype_int16 *yyss1 = yyss;
-
/* Each stack pointer address is followed by the size of the
data in use in that stack, in bytes. This used to be a
conditional around just the two extra args, but that might
@@ -2189,7 +2154,6 @@ int yynerrs;
yyoverflow (YY_("memory exhausted"),
&yyss1, yysize * sizeof (*yyssp),
&yyvs1, yysize * sizeof (*yyvsp),
-
&yystacksize);
yyss = yyss1;
@@ -2212,9 +2176,8 @@ int yynerrs;
(union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
if (! yyptr)
goto yyexhaustedlab;
- YYSTACK_RELOCATE (yyss);
- YYSTACK_RELOCATE (yyvs);
-
+ YYSTACK_RELOCATE (yyss_alloc, yyss);
+ YYSTACK_RELOCATE (yyvs_alloc, yyvs);
# undef YYSTACK_RELOCATE
if (yyss1 != yyssa)
YYSTACK_FREE (yyss1);
@@ -2225,7 +2188,6 @@ int yynerrs;
yyssp = yyss + yysize - 1;
yyvsp = yyvs + yysize - 1;
-
YYDPRINTF ((stderr, "Stack size increased to %lu\n",
(unsigned long int) yystacksize));
@@ -2235,6 +2197,9 @@ int yynerrs;
YYDPRINTF ((stderr, "Entering state %d\n", yystate));
+ if (yystate == YYFINAL)
+ YYACCEPT;
+
goto yybackup;
/*-----------.
@@ -2243,16 +2208,16 @@ int yynerrs;
yybackup:
/* Do appropriate processing given the current state. Read a
- look-ahead token if we need one and don't already have one. */
+ lookahead token if we need one and don't already have one. */
- /* First try to decide what to do without reference to look-ahead token. */
+ /* First try to decide what to do without reference to lookahead token. */
yyn = yypact[yystate];
- if (yyn == YYPACT_NINF)
+ if (yypact_value_is_default (yyn))
goto yydefault;
- /* Not known => get a look-ahead token if don't already have one. */
+ /* Not known => get a lookahead token if don't already have one. */
- /* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol. */
+ /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */
if (yychar == YYEMPTY)
{
YYDPRINTF ((stderr, "Reading a token: "));
@@ -2278,26 +2243,22 @@ yybackup:
yyn = yytable[yyn];
if (yyn <= 0)
{
- if (yyn == 0 || yyn == YYTABLE_NINF)
- goto yyerrlab;
+ if (yytable_value_is_error (yyn))
+ goto yyerrlab;
yyn = -yyn;
goto yyreduce;
}
- if (yyn == YYFINAL)
- YYACCEPT;
-
/* Count tokens shifted since error; after three, turn off error
status. */
if (yyerrstatus)
yyerrstatus--;
- /* Shift the look-ahead token. */
+ /* Shift the lookahead token. */
YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
- /* Discard the shifted token unless it is eof. */
- if (yychar != YYEOF)
- yychar = YYEMPTY;
+ /* Discard the shifted token. */
+ yychar = YYEMPTY;
yystate = yyn;
*++yyvsp = yylval;
@@ -2337,27 +2298,35 @@ yyreduce:
switch (yyn)
{
case 9:
+
+/* Line 1806 of yacc.c */
#line 303 "../Source/WebCore/css/CSSGrammar.y"
{
static_cast<CSSParser*>(parser)->m_rule = (yyvsp[(4) - (6)].rule);
- ;}
+ }
break;
case 10:
+
+/* Line 1806 of yacc.c */
#line 309 "../Source/WebCore/css/CSSGrammar.y"
{
static_cast<CSSParser*>(parser)->m_keyframe = (yyvsp[(4) - (6)].keyframeRule);
- ;}
+ }
break;
case 11:
+
+/* Line 1806 of yacc.c */
#line 315 "../Source/WebCore/css/CSSGrammar.y"
{
/* can be empty */
- ;}
+ }
break;
case 12:
+
+/* Line 1806 of yacc.c */
#line 321 "../Source/WebCore/css/CSSGrammar.y"
{
CSSParser* p = static_cast<CSSParser*>(parser);
@@ -2369,18 +2338,22 @@ yyreduce:
delete p->m_valueList;
p->m_valueList = 0;
}
- ;}
+ }
break;
case 13:
+
+/* Line 1806 of yacc.c */
#line 335 "../Source/WebCore/css/CSSGrammar.y"
{
CSSParser* p = static_cast<CSSParser*>(parser);
p->m_mediaQuery = p->sinkFloatingMediaQuery((yyvsp[(4) - (5)].mediaQuery));
- ;}
+ }
break;
case 14:
+
+/* Line 1806 of yacc.c */
#line 342 "../Source/WebCore/css/CSSGrammar.y"
{
if ((yyvsp[(4) - (5)].selectorList)) {
@@ -2388,74 +2361,94 @@ yyreduce:
if (p->m_selectorListForParseSelector)
p->m_selectorListForParseSelector->adoptSelectorVector(*(yyvsp[(4) - (5)].selectorList));
}
- ;}
+ }
break;
case 21:
+
+/* Line 1806 of yacc.c */
#line 364 "../Source/WebCore/css/CSSGrammar.y"
{
- ;}
+ }
break;
case 24:
+
+/* Line 1806 of yacc.c */
#line 374 "../Source/WebCore/css/CSSGrammar.y"
{
CSSParser* p = static_cast<CSSParser*>(parser);
(yyval.rule) = static_cast<CSSParser*>(parser)->createCharsetRule((yyvsp[(3) - (5)].string));
if ((yyval.rule) && p->m_styleSheet)
p->m_styleSheet->append((yyval.rule));
- ;}
+ }
break;
case 25:
+
+/* Line 1806 of yacc.c */
#line 380 "../Source/WebCore/css/CSSGrammar.y"
{
- ;}
+ }
break;
case 26:
+
+/* Line 1806 of yacc.c */
#line 382 "../Source/WebCore/css/CSSGrammar.y"
{
- ;}
+ }
break;
case 27:
+
+/* Line 1806 of yacc.c */
#line 387 "../Source/WebCore/css/CSSGrammar.y"
{
// Ignore any @charset rule not at the beginning of the style sheet.
(yyval.rule) = 0;
- ;}
+ }
break;
case 29:
+
+/* Line 1806 of yacc.c */
#line 395 "../Source/WebCore/css/CSSGrammar.y"
{
CSSParser* p = static_cast<CSSParser*>(parser);
if ((yyvsp[(2) - (3)].rule) && p->m_styleSheet)
p->m_styleSheet->append((yyvsp[(2) - (3)].rule));
- ;}
+ }
break;
case 30:
+
+/* Line 1806 of yacc.c */
#line 403 "../Source/WebCore/css/CSSGrammar.y"
{
(yyval.rule) = (yyvsp[(2) - (2)].rule);
- ;}
+ }
break;
case 37:
+
+/* Line 1806 of yacc.c */
#line 415 "../Source/WebCore/css/CSSGrammar.y"
{
static_cast<CSSParser*>(parser)->m_hadSyntacticallyValidCSSRule = true;
- ;}
+ }
break;
case 41:
+
+/* Line 1806 of yacc.c */
#line 424 "../Source/WebCore/css/CSSGrammar.y"
- { (yyval.ruleList) = 0; ;}
+ { (yyval.ruleList) = 0; }
break;
case 42:
+
+/* Line 1806 of yacc.c */
#line 425 "../Source/WebCore/css/CSSGrammar.y"
{
(yyval.ruleList) = (yyvsp[(1) - (3)].ruleList);
@@ -2464,281 +2457,357 @@ yyreduce:
(yyval.ruleList) = static_cast<CSSParser*>(parser)->createRuleList();
(yyval.ruleList)->append((yyvsp[(2) - (3)].rule));
}
- ;}
+ }
break;
case 53:
+
+/* Line 1806 of yacc.c */
#line 453 "../Source/WebCore/css/CSSGrammar.y"
{
(yyval.rule) = static_cast<CSSParser*>(parser)->createImportRule((yyvsp[(3) - (6)].string), (yyvsp[(5) - (6)].mediaList));
- ;}
+ }
break;
case 54:
+
+/* Line 1806 of yacc.c */
#line 456 "../Source/WebCore/css/CSSGrammar.y"
{
(yyval.rule) = 0;
- ;}
+ }
break;
case 55:
+
+/* Line 1806 of yacc.c */
#line 459 "../Source/WebCore/css/CSSGrammar.y"
{
(yyval.rule) = 0;
- ;}
+ }
break;
case 56:
+
+/* Line 1806 of yacc.c */
#line 462 "../Source/WebCore/css/CSSGrammar.y"
{
(yyval.rule) = 0;
- ;}
+ }
break;
case 57:
+
+/* Line 1806 of yacc.c */
#line 468 "../Source/WebCore/css/CSSGrammar.y"
{
static_cast<CSSParser*>(parser)->addNamespace((yyvsp[(3) - (6)].string), (yyvsp[(4) - (6)].string));
(yyval.rule) = 0;
-;}
+}
break;
case 58:
+
+/* Line 1806 of yacc.c */
#line 472 "../Source/WebCore/css/CSSGrammar.y"
{
(yyval.rule) = 0;
-;}
+}
break;
case 59:
+
+/* Line 1806 of yacc.c */
#line 475 "../Source/WebCore/css/CSSGrammar.y"
{
(yyval.rule) = 0;
-;}
+}
break;
case 60:
+
+/* Line 1806 of yacc.c */
#line 478 "../Source/WebCore/css/CSSGrammar.y"
{
(yyval.rule) = 0;
-;}
+}
break;
case 61:
+
+/* Line 1806 of yacc.c */
#line 484 "../Source/WebCore/css/CSSGrammar.y"
- { (yyval.string).characters = 0; ;}
+ { (yyval.string).characters = 0; }
break;
case 62:
+
+/* Line 1806 of yacc.c */
#line 485 "../Source/WebCore/css/CSSGrammar.y"
- { (yyval.string) = (yyvsp[(1) - (2)].string); ;}
+ { (yyval.string) = (yyvsp[(1) - (2)].string); }
break;
case 65:
+
+/* Line 1806 of yacc.c */
#line 494 "../Source/WebCore/css/CSSGrammar.y"
{
(yyval.string) = (yyvsp[(1) - (2)].string);
- ;}
+ }
break;
case 66:
+
+/* Line 1806 of yacc.c */
#line 500 "../Source/WebCore/css/CSSGrammar.y"
{
(yyval.valueList) = 0;
- ;}
+ }
break;
case 67:
+
+/* Line 1806 of yacc.c */
#line 503 "../Source/WebCore/css/CSSGrammar.y"
{
(yyval.valueList) = (yyvsp[(3) - (4)].valueList);
- ;}
+ }
break;
case 68:
+
+/* Line 1806 of yacc.c */
#line 509 "../Source/WebCore/css/CSSGrammar.y"
{
(yyvsp[(3) - (7)].string).lower();
(yyval.mediaQueryExp) = static_cast<CSSParser*>(parser)->createFloatingMediaQueryExp((yyvsp[(3) - (7)].string), (yyvsp[(5) - (7)].valueList));
- ;}
+ }
break;
case 69:
+
+/* Line 1806 of yacc.c */
#line 516 "../Source/WebCore/css/CSSGrammar.y"
{
CSSParser* p = static_cast<CSSParser*>(parser);
(yyval.mediaQueryExpList) = p->createFloatingMediaQueryExpList();
(yyval.mediaQueryExpList)->append(p->sinkFloatingMediaQueryExp((yyvsp[(1) - (1)].mediaQueryExp)));
- ;}
+ }
break;
case 70:
+
+/* Line 1806 of yacc.c */
#line 521 "../Source/WebCore/css/CSSGrammar.y"
{
(yyval.mediaQueryExpList) = (yyvsp[(1) - (5)].mediaQueryExpList);
(yyval.mediaQueryExpList)->append(static_cast<CSSParser*>(parser)->sinkFloatingMediaQueryExp((yyvsp[(5) - (5)].mediaQueryExp)));
- ;}
+ }
break;
case 71:
+
+/* Line 1806 of yacc.c */
#line 528 "../Source/WebCore/css/CSSGrammar.y"
{
(yyval.mediaQueryExpList) = static_cast<CSSParser*>(parser)->createFloatingMediaQueryExpList();
- ;}
+ }
break;
case 72:
+
+/* Line 1806 of yacc.c */
#line 531 "../Source/WebCore/css/CSSGrammar.y"
{
(yyval.mediaQueryExpList) = (yyvsp[(3) - (3)].mediaQueryExpList);
- ;}
+ }
break;
case 73:
+
+/* Line 1806 of yacc.c */
#line 537 "../Source/WebCore/css/CSSGrammar.y"
{
(yyval.mediaQueryRestrictor) = MediaQuery::None;
- ;}
+ }
break;
case 74:
+
+/* Line 1806 of yacc.c */
#line 540 "../Source/WebCore/css/CSSGrammar.y"
{
(yyval.mediaQueryRestrictor) = MediaQuery::Only;
- ;}
+ }
break;
case 75:
+
+/* Line 1806 of yacc.c */
#line 543 "../Source/WebCore/css/CSSGrammar.y"
{
(yyval.mediaQueryRestrictor) = MediaQuery::Not;
- ;}
+ }
break;
case 76:
+
+/* Line 1806 of yacc.c */
#line 549 "../Source/WebCore/css/CSSGrammar.y"
{
CSSParser* p = static_cast<CSSParser*>(parser);
(yyval.mediaQuery) = p->createFloatingMediaQuery(p->sinkFloatingMediaQueryExpList((yyvsp[(1) - (1)].mediaQueryExpList)));
- ;}
+ }
break;
case 77:
+
+/* Line 1806 of yacc.c */
#line 554 "../Source/WebCore/css/CSSGrammar.y"
{
CSSParser* p = static_cast<CSSParser*>(parser);
(yyvsp[(3) - (4)].string).lower();
(yyval.mediaQuery) = p->createFloatingMediaQuery((yyvsp[(1) - (4)].mediaQueryRestrictor), (yyvsp[(3) - (4)].string), p->sinkFloatingMediaQueryExpList((yyvsp[(4) - (4)].mediaQueryExpList)));
- ;}
+ }
break;
case 78:
+
+/* Line 1806 of yacc.c */
#line 562 "../Source/WebCore/css/CSSGrammar.y"
{
(yyval.mediaList) = static_cast<CSSParser*>(parser)->createMediaList();
- ;}
+ }
break;
case 80:
+
+/* Line 1806 of yacc.c */
#line 569 "../Source/WebCore/css/CSSGrammar.y"
{
CSSParser* p = static_cast<CSSParser*>(parser);
(yyval.mediaList) = p->createMediaList();
(yyval.mediaList)->appendMediaQuery(p->sinkFloatingMediaQuery((yyvsp[(1) - (1)].mediaQuery)));
- ;}
+ }
break;
case 81:
+
+/* Line 1806 of yacc.c */
#line 574 "../Source/WebCore/css/CSSGrammar.y"
{
(yyval.mediaList) = (yyvsp[(1) - (4)].mediaList);
if ((yyval.mediaList))
(yyval.mediaList)->appendMediaQuery(static_cast<CSSParser*>(parser)->sinkFloatingMediaQuery((yyvsp[(4) - (4)].mediaQuery)));
- ;}
+ }
break;
case 82:
+
+/* Line 1806 of yacc.c */
#line 579 "../Source/WebCore/css/CSSGrammar.y"
{
(yyval.mediaList) = 0;
- ;}
+ }
break;
case 83:
+
+/* Line 1806 of yacc.c */
#line 585 "../Source/WebCore/css/CSSGrammar.y"
{
(yyval.rule) = static_cast<CSSParser*>(parser)->createMediaRule((yyvsp[(3) - (7)].mediaList), (yyvsp[(6) - (7)].ruleList));
- ;}
+ }
break;
case 84:
+
+/* Line 1806 of yacc.c */
#line 588 "../Source/WebCore/css/CSSGrammar.y"
{
(yyval.rule) = static_cast<CSSParser*>(parser)->createMediaRule(0, (yyvsp[(5) - (6)].ruleList));
- ;}
+ }
break;
case 85:
+
+/* Line 1806 of yacc.c */
#line 594 "../Source/WebCore/css/CSSGrammar.y"
{
(yyval.string) = (yyvsp[(1) - (2)].string);
- ;}
+ }
break;
case 86:
+
+/* Line 1806 of yacc.c */
#line 600 "../Source/WebCore/css/CSSGrammar.y"
{
(yyval.rule) = (yyvsp[(7) - (8)].keyframesRule);
(yyvsp[(7) - (8)].keyframesRule)->setNameInternal((yyvsp[(3) - (8)].string));
- ;}
+ }
break;
case 89:
+
+/* Line 1806 of yacc.c */
#line 612 "../Source/WebCore/css/CSSGrammar.y"
- { (yyval.keyframesRule) = static_cast<CSSParser*>(parser)->createKeyframesRule(); ;}
+ { (yyval.keyframesRule) = static_cast<CSSParser*>(parser)->createKeyframesRule(); }
break;
case 90:
+
+/* Line 1806 of yacc.c */
#line 613 "../Source/WebCore/css/CSSGrammar.y"
{
(yyval.keyframesRule) = (yyvsp[(1) - (3)].keyframesRule);
if ((yyvsp[(2) - (3)].keyframeRule))
(yyval.keyframesRule)->append((yyvsp[(2) - (3)].keyframeRule));
- ;}
+ }
break;
case 91:
+
+/* Line 1806 of yacc.c */
#line 621 "../Source/WebCore/css/CSSGrammar.y"
{
(yyval.keyframeRule) = static_cast<CSSParser*>(parser)->createKeyframeRule((yyvsp[(1) - (6)].valueList));
- ;}
+ }
break;
case 92:
+
+/* Line 1806 of yacc.c */
#line 627 "../Source/WebCore/css/CSSGrammar.y"
{
CSSParser* p = static_cast<CSSParser*>(parser);
(yyval.valueList) = p->createFloatingValueList();
(yyval.valueList)->addValue(p->sinkFloatingValue((yyvsp[(1) - (1)].value)));
- ;}
+ }
break;
case 93:
+
+/* Line 1806 of yacc.c */
#line 632 "../Source/WebCore/css/CSSGrammar.y"
{
CSSParser* p = static_cast<CSSParser*>(parser);
(yyval.valueList) = (yyvsp[(1) - (5)].valueList);
if ((yyval.valueList))
(yyval.valueList)->addValue(p->sinkFloatingValue((yyvsp[(5) - (5)].value)));
- ;}
+ }
break;
case 94:
+
+/* Line 1806 of yacc.c */
#line 641 "../Source/WebCore/css/CSSGrammar.y"
- { (yyval.value).id = 0; (yyval.value).isInt = false; (yyval.value).fValue = (yyvsp[(1) - (1)].number); (yyval.value).unit = CSSPrimitiveValue::CSS_NUMBER; ;}
+ { (yyval.value).id = 0; (yyval.value).isInt = false; (yyval.value).fValue = (yyvsp[(1) - (1)].number); (yyval.value).unit = CSSPrimitiveValue::CSS_NUMBER; }
break;
case 95:
+
+/* Line 1806 of yacc.c */
#line 642 "../Source/WebCore/css/CSSGrammar.y"
{
(yyval.value).id = 0; (yyval.value).isInt = false; (yyval.value).unit = CSSPrimitiveValue::CSS_NUMBER;
@@ -2749,10 +2818,12 @@ yyreduce:
(yyval.value).fValue = 100;
else
YYERROR;
- ;}
+ }
break;
case 96:
+
+/* Line 1806 of yacc.c */
#line 656 "../Source/WebCore/css/CSSGrammar.y"
{
CSSParser* p = static_cast<CSSParser*>(parser);
@@ -2764,34 +2835,42 @@ yyreduce:
// Also clear margin at-rules here once we fully implement margin at-rules parsing.
(yyval.rule) = 0;
}
- ;}
+ }
break;
case 97:
+
+/* Line 1806 of yacc.c */
#line 667 "../Source/WebCore/css/CSSGrammar.y"
{
(yyval.rule) = 0;
- ;}
+ }
break;
case 98:
+
+/* Line 1806 of yacc.c */
#line 670 "../Source/WebCore/css/CSSGrammar.y"
{
(yyval.rule) = 0;
- ;}
+ }
break;
case 99:
+
+/* Line 1806 of yacc.c */
#line 676 "../Source/WebCore/css/CSSGrammar.y"
{
CSSParser* p = static_cast<CSSParser*>(parser);
(yyval.selector) = p->createFloatingSelector();
(yyval.selector)->setTag(QualifiedName(nullAtom, (yyvsp[(1) - (1)].string), p->m_defaultNamespace));
(yyval.selector)->setForPage();
- ;}
+ }
break;
case 100:
+
+/* Line 1806 of yacc.c */
#line 682 "../Source/WebCore/css/CSSGrammar.y"
{
CSSParser* p = static_cast<CSSParser*>(parser);
@@ -2800,242 +2879,312 @@ yyreduce:
(yyval.selector)->setTag(QualifiedName(nullAtom, (yyvsp[(1) - (2)].string), p->m_defaultNamespace));
(yyval.selector)->setForPage();
}
- ;}
+ }
break;
case 101:
+
+/* Line 1806 of yacc.c */
#line 690 "../Source/WebCore/css/CSSGrammar.y"
{
(yyval.selector) = (yyvsp[(1) - (1)].selector);
if ((yyval.selector))
(yyval.selector)->setForPage();
- ;}
+ }
break;
case 102:
+
+/* Line 1806 of yacc.c */
#line 695 "../Source/WebCore/css/CSSGrammar.y"
{
CSSParser* p = static_cast<CSSParser*>(parser);
(yyval.selector) = p->createFloatingSelector();
(yyval.selector)->setForPage();
- ;}
+ }
break;
case 105:
+
+/* Line 1806 of yacc.c */
#line 708 "../Source/WebCore/css/CSSGrammar.y"
{
static_cast<CSSParser*>(parser)->startDeclarationsForMarginBox();
- ;}
+ }
break;
case 106:
+
+/* Line 1806 of yacc.c */
#line 710 "../Source/WebCore/css/CSSGrammar.y"
{
(yyval.rule) = static_cast<CSSParser*>(parser)->createMarginAtRule((yyvsp[(1) - (7)].marginBox));
- ;}
+ }
break;
case 107:
+
+/* Line 1806 of yacc.c */
#line 716 "../Source/WebCore/css/CSSGrammar.y"
{
(yyval.marginBox) = CSSSelector::TopLeftCornerMarginBox;
- ;}
+ }
break;
case 108:
+
+/* Line 1806 of yacc.c */
#line 719 "../Source/WebCore/css/CSSGrammar.y"
{
(yyval.marginBox) = CSSSelector::TopLeftMarginBox;
- ;}
+ }
break;
case 109:
+
+/* Line 1806 of yacc.c */
#line 722 "../Source/WebCore/css/CSSGrammar.y"
{
(yyval.marginBox) = CSSSelector::TopCenterMarginBox;
- ;}
+ }
break;
case 110:
+
+/* Line 1806 of yacc.c */
#line 725 "../Source/WebCore/css/CSSGrammar.y"
{
(yyval.marginBox) = CSSSelector::TopRightMarginBox;
- ;}
+ }
break;
case 111:
+
+/* Line 1806 of yacc.c */
#line 728 "../Source/WebCore/css/CSSGrammar.y"
{
(yyval.marginBox) = CSSSelector::TopRightCornerMarginBox;
- ;}
+ }
break;
case 112:
+
+/* Line 1806 of yacc.c */
#line 731 "../Source/WebCore/css/CSSGrammar.y"
{
(yyval.marginBox) = CSSSelector::BottomLeftCornerMarginBox;
- ;}
+ }
break;
case 113:
+
+/* Line 1806 of yacc.c */
#line 734 "../Source/WebCore/css/CSSGrammar.y"
{
(yyval.marginBox) = CSSSelector::BottomLeftMarginBox;
- ;}
+ }
break;
case 114:
+
+/* Line 1806 of yacc.c */
#line 737 "../Source/WebCore/css/CSSGrammar.y"
{
(yyval.marginBox) = CSSSelector::BottomCenterMarginBox;
- ;}
+ }
break;
case 115:
+
+/* Line 1806 of yacc.c */
#line 740 "../Source/WebCore/css/CSSGrammar.y"
{
(yyval.marginBox) = CSSSelector::BottomRightMarginBox;
- ;}
+ }
break;
case 116:
+
+/* Line 1806 of yacc.c */
#line 743 "../Source/WebCore/css/CSSGrammar.y"
{
(yyval.marginBox) = CSSSelector::BottomRightCornerMarginBox;
- ;}
+ }
break;
case 117:
+
+/* Line 1806 of yacc.c */
#line 746 "../Source/WebCore/css/CSSGrammar.y"
{
(yyval.marginBox) = CSSSelector::LeftTopMarginBox;
- ;}
+ }
break;
case 118:
+
+/* Line 1806 of yacc.c */
#line 749 "../Source/WebCore/css/CSSGrammar.y"
{
(yyval.marginBox) = CSSSelector::LeftMiddleMarginBox;
- ;}
+ }
break;
case 119:
+
+/* Line 1806 of yacc.c */
#line 752 "../Source/WebCore/css/CSSGrammar.y"
{
(yyval.marginBox) = CSSSelector::LeftBottomMarginBox;
- ;}
+ }
break;
case 120:
+
+/* Line 1806 of yacc.c */
#line 755 "../Source/WebCore/css/CSSGrammar.y"
{
(yyval.marginBox) = CSSSelector::RightTopMarginBox;
- ;}
+ }
break;
case 121:
+
+/* Line 1806 of yacc.c */
#line 758 "../Source/WebCore/css/CSSGrammar.y"
{
(yyval.marginBox) = CSSSelector::RightMiddleMarginBox;
- ;}
+ }
break;
case 122:
+
+/* Line 1806 of yacc.c */
#line 761 "../Source/WebCore/css/CSSGrammar.y"
{
(yyval.marginBox) = CSSSelector::RightBottomMarginBox;
- ;}
+ }
break;
case 123:
+
+/* Line 1806 of yacc.c */
#line 768 "../Source/WebCore/css/CSSGrammar.y"
{
(yyval.rule) = static_cast<CSSParser*>(parser)->createFontFaceRule();
- ;}
+ }
break;
case 124:
+
+/* Line 1806 of yacc.c */
#line 771 "../Source/WebCore/css/CSSGrammar.y"
{
(yyval.rule) = 0;
- ;}
+ }
break;
case 125:
+
+/* Line 1806 of yacc.c */
#line 774 "../Source/WebCore/css/CSSGrammar.y"
{
(yyval.rule) = 0;
- ;}
+ }
break;
case 126:
+
+/* Line 1806 of yacc.c */
#line 780 "../Source/WebCore/css/CSSGrammar.y"
- { (yyval.relation) = CSSSelector::DirectAdjacent; ;}
+ { (yyval.relation) = CSSSelector::DirectAdjacent; }
break;
case 127:
+
+/* Line 1806 of yacc.c */
#line 781 "../Source/WebCore/css/CSSGrammar.y"
- { (yyval.relation) = CSSSelector::IndirectAdjacent; ;}
+ { (yyval.relation) = CSSSelector::IndirectAdjacent; }
break;
case 128:
+
+/* Line 1806 of yacc.c */
#line 782 "../Source/WebCore/css/CSSGrammar.y"
- { (yyval.relation) = CSSSelector::Child; ;}
+ { (yyval.relation) = CSSSelector::Child; }
break;
case 129:
+
+/* Line 1806 of yacc.c */
#line 786 "../Source/WebCore/css/CSSGrammar.y"
- { (yyval.integer) = (yyvsp[(1) - (1)].integer); ;}
+ { (yyval.integer) = (yyvsp[(1) - (1)].integer); }
break;
case 130:
+
+/* Line 1806 of yacc.c */
#line 787 "../Source/WebCore/css/CSSGrammar.y"
- { (yyval.integer) = 1; ;}
+ { (yyval.integer) = 1; }
break;
case 131:
+
+/* Line 1806 of yacc.c */
#line 791 "../Source/WebCore/css/CSSGrammar.y"
- { (yyval.integer) = -1; ;}
+ { (yyval.integer) = -1; }
break;
case 132:
+
+/* Line 1806 of yacc.c */
#line 792 "../Source/WebCore/css/CSSGrammar.y"
- { (yyval.integer) = 1; ;}
+ { (yyval.integer) = 1; }
break;
case 133:
+
+/* Line 1806 of yacc.c */
#line 796 "../Source/WebCore/css/CSSGrammar.y"
{
CSSParser* p = static_cast<CSSParser*>(parser);
p->markPropertyStart();
- ;}
+ }
break;
case 134:
+
+/* Line 1806 of yacc.c */
#line 803 "../Source/WebCore/css/CSSGrammar.y"
{
CSSParser* p = static_cast<CSSParser*>(parser);
p->markSelectorListStart();
- ;}
+ }
break;
case 135:
+
+/* Line 1806 of yacc.c */
#line 810 "../Source/WebCore/css/CSSGrammar.y"
{
CSSParser* p = static_cast<CSSParser*>(parser);
p->markSelectorListEnd();
- ;}
+ }
break;
case 136:
+
+/* Line 1806 of yacc.c */
#line 817 "../Source/WebCore/css/CSSGrammar.y"
{
CSSParser* p = static_cast<CSSParser*>(parser);
(yyval.rule) = p->createStyleRule((yyvsp[(1) - (6)].selectorList));
- ;}
+ }
break;
case 137:
+
+/* Line 1806 of yacc.c */
#line 824 "../Source/WebCore/css/CSSGrammar.y"
{
if ((yyvsp[(1) - (1)].selector)) {
@@ -3045,10 +3194,12 @@ yyreduce:
(yyval.selectorList)->append(p->sinkFloatingSelector((yyvsp[(1) - (1)].selector)));
p->updateLastSelectorLineAndPosition();
}
- ;}
+ }
break;
case 138:
+
+/* Line 1806 of yacc.c */
#line 833 "../Source/WebCore/css/CSSGrammar.y"
{
if ((yyvsp[(1) - (4)].selectorList) && (yyvsp[(4) - (4)].selector)) {
@@ -3058,38 +3209,48 @@ yyreduce:
p->updateLastSelectorLineAndPosition();
} else
(yyval.selectorList) = 0;
- ;}
+ }
break;
case 139:
+
+/* Line 1806 of yacc.c */
#line 842 "../Source/WebCore/css/CSSGrammar.y"
{
(yyval.selectorList) = 0;
- ;}
+ }
break;
case 140:
+
+/* Line 1806 of yacc.c */
#line 848 "../Source/WebCore/css/CSSGrammar.y"
{
(yyval.selector) = (yyvsp[(1) - (2)].selector);
- ;}
+ }
break;
case 141:
+
+/* Line 1806 of yacc.c */
#line 854 "../Source/WebCore/css/CSSGrammar.y"
{
(yyval.selector) = (yyvsp[(1) - (1)].selector);
- ;}
+ }
break;
case 142:
+
+/* Line 1806 of yacc.c */
#line 858 "../Source/WebCore/css/CSSGrammar.y"
{
(yyval.selector) = (yyvsp[(1) - (1)].selector);
- ;}
+ }
break;
case 143:
+
+/* Line 1806 of yacc.c */
#line 862 "../Source/WebCore/css/CSSGrammar.y"
{
(yyval.selector) = (yyvsp[(2) - (2)].selector);
@@ -3103,10 +3264,12 @@ yyreduce:
end->setRelation(CSSSelector::Descendant);
end->setTagHistory(p->sinkFloatingSelector((yyvsp[(1) - (2)].selector)));
}
- ;}
+ }
break;
case 144:
+
+/* Line 1806 of yacc.c */
#line 875 "../Source/WebCore/css/CSSGrammar.y"
{
(yyval.selector) = (yyvsp[(3) - (3)].selector);
@@ -3120,59 +3283,75 @@ yyreduce:
end->setRelation((yyvsp[(2) - (3)].relation));
end->setTagHistory(p->sinkFloatingSelector((yyvsp[(1) - (3)].selector)));
}
- ;}
+ }
break;
case 145:
+
+/* Line 1806 of yacc.c */
#line 888 "../Source/WebCore/css/CSSGrammar.y"
{
(yyval.selector) = 0;
- ;}
+ }
break;
case 146:
+
+/* Line 1806 of yacc.c */
#line 894 "../Source/WebCore/css/CSSGrammar.y"
- { (yyval.string).characters = 0; (yyval.string).length = 0; ;}
+ { (yyval.string).characters = 0; (yyval.string).length = 0; }
break;
case 147:
+
+/* Line 1806 of yacc.c */
#line 895 "../Source/WebCore/css/CSSGrammar.y"
- { static UChar star = '*'; (yyval.string).characters = &star; (yyval.string).length = 1; ;}
+ { static UChar star = '*'; (yyval.string).characters = &star; (yyval.string).length = 1; }
break;
case 148:
+
+/* Line 1806 of yacc.c */
#line 896 "../Source/WebCore/css/CSSGrammar.y"
- { (yyval.string) = (yyvsp[(1) - (2)].string); ;}
+ { (yyval.string) = (yyvsp[(1) - (2)].string); }
break;
case 149:
+
+/* Line 1806 of yacc.c */
#line 900 "../Source/WebCore/css/CSSGrammar.y"
{
CSSParser* p = static_cast<CSSParser*>(parser);
(yyval.selector) = p->createFloatingSelector();
(yyval.selector)->setTag(QualifiedName(nullAtom, (yyvsp[(1) - (1)].string), p->m_defaultNamespace));
- ;}
+ }
break;
case 150:
+
+/* Line 1806 of yacc.c */
#line 905 "../Source/WebCore/css/CSSGrammar.y"
{
(yyval.selector) = (yyvsp[(2) - (2)].selector);
if ((yyval.selector))
static_cast<CSSParser*>(parser)->updateSpecifiersWithElementName(nullAtom, (yyvsp[(1) - (2)].string), (yyval.selector));
- ;}
+ }
break;
case 151:
+
+/* Line 1806 of yacc.c */
#line 910 "../Source/WebCore/css/CSSGrammar.y"
{
(yyval.selector) = (yyvsp[(1) - (1)].selector);
if ((yyval.selector))
static_cast<CSSParser*>(parser)->updateSpecifiersWithElementName(nullAtom, starAtom, (yyval.selector));
- ;}
+ }
break;
case 152:
+
+/* Line 1806 of yacc.c */
#line 915 "../Source/WebCore/css/CSSGrammar.y"
{
AtomicString namespacePrefix = (yyvsp[(1) - (2)].string);
@@ -3183,28 +3362,34 @@ yyreduce:
p->m_styleSheet->determineNamespace(namespacePrefix)));
else // FIXME: Shouldn't this case be an error?
(yyval.selector)->setTag(QualifiedName(nullAtom, (yyvsp[(2) - (2)].string), p->m_defaultNamespace));
- ;}
+ }
break;
case 153:
+
+/* Line 1806 of yacc.c */
#line 925 "../Source/WebCore/css/CSSGrammar.y"
{
(yyval.selector) = (yyvsp[(3) - (3)].selector);
if ((yyval.selector))
static_cast<CSSParser*>(parser)->updateSpecifiersWithElementName((yyvsp[(1) - (3)].string), (yyvsp[(2) - (3)].string), (yyval.selector));
- ;}
+ }
break;
case 154:
+
+/* Line 1806 of yacc.c */
#line 930 "../Source/WebCore/css/CSSGrammar.y"
{
(yyval.selector) = (yyvsp[(2) - (2)].selector);
if ((yyval.selector))
static_cast<CSSParser*>(parser)->updateSpecifiersWithElementName((yyvsp[(1) - (2)].string), starAtom, (yyval.selector));
- ;}
+ }
break;
case 155:
+
+/* Line 1806 of yacc.c */
#line 938 "../Source/WebCore/css/CSSGrammar.y"
{
if ((yyvsp[(1) - (1)].selector)) {
@@ -3217,6 +3402,8 @@ yyreduce:
break;
case 156:
+
+/* Line 1806 of yacc.c */
#line 946 "../Source/WebCore/css/CSSGrammar.y"
{
if ((yyvsp[(1) - (5)].selectorList) && (yyvsp[(5) - (5)].selector)) {
@@ -3225,17 +3412,21 @@ yyreduce:
(yyval.selectorList)->append(p->sinkFloatingSelector((yyvsp[(5) - (5)].selector)));
} else
(yyval.selectorList) = 0;
- ;}
+ }
break;
case 157:
+
+/* Line 1806 of yacc.c */
#line 954 "../Source/WebCore/css/CSSGrammar.y"
{
(yyval.selectorList) = 0;
- ;}
+ }
break;
case 158:
+
+/* Line 1806 of yacc.c */
#line 960 "../Source/WebCore/css/CSSGrammar.y"
{
CSSParserString& str = (yyvsp[(1) - (1)].string);
@@ -3244,43 +3435,53 @@ yyreduce:
if (doc && doc->isHTMLDocument())
str.lower();
(yyval.string) = str;
- ;}
+ }
break;
case 159:
+
+/* Line 1806 of yacc.c */
#line 968 "../Source/WebCore/css/CSSGrammar.y"
{
static UChar star = '*';
(yyval.string).characters = &star;
(yyval.string).length = 1;
- ;}
+ }
break;
case 160:
+
+/* Line 1806 of yacc.c */
#line 976 "../Source/WebCore/css/CSSGrammar.y"
{
(yyval.selector) = (yyvsp[(1) - (1)].selector);
- ;}
+ }
break;
case 161:
+
+/* Line 1806 of yacc.c */
#line 979 "../Source/WebCore/css/CSSGrammar.y"
{
if (!(yyvsp[(2) - (2)].selector))
(yyval.selector) = 0;
else if ((yyvsp[(1) - (2)].selector))
(yyval.selector) = static_cast<CSSParser*>(parser)->updateSpecifiers((yyvsp[(1) - (2)].selector), (yyvsp[(2) - (2)].selector));
- ;}
+ }
break;
case 162:
+
+/* Line 1806 of yacc.c */
#line 985 "../Source/WebCore/css/CSSGrammar.y"
{
(yyval.selector) = 0;
- ;}
+ }
break;
case 163:
+
+/* Line 1806 of yacc.c */
#line 991 "../Source/WebCore/css/CSSGrammar.y"
{
CSSParser* p = static_cast<CSSParser*>(parser);
@@ -3289,10 +3490,12 @@ yyreduce:
if (!p->m_strict)
(yyvsp[(1) - (1)].string).lower();
(yyval.selector)->setValue((yyvsp[(1) - (1)].string));
- ;}
+ }
break;
case 164:
+
+/* Line 1806 of yacc.c */
#line 999 "../Source/WebCore/css/CSSGrammar.y"
{
if ((yyvsp[(1) - (1)].string).characters[0] >= '0' && (yyvsp[(1) - (1)].string).characters[0] <= '9') {
@@ -3305,10 +3508,12 @@ yyreduce:
(yyvsp[(1) - (1)].string).lower();
(yyval.selector)->setValue((yyvsp[(1) - (1)].string));
}
- ;}
+ }
break;
case 168:
+
+/* Line 1806 of yacc.c */
#line 1017 "../Source/WebCore/css/CSSGrammar.y"
{
CSSParser* p = static_cast<CSSParser*>(parser);
@@ -3317,10 +3522,12 @@ yyreduce:
if (!p->m_strict)
(yyvsp[(2) - (2)].string).lower();
(yyval.selector)->setValue((yyvsp[(2) - (2)].string));
- ;}
+ }
break;
case 169:
+
+/* Line 1806 of yacc.c */
#line 1028 "../Source/WebCore/css/CSSGrammar.y"
{
CSSParserString& str = (yyvsp[(1) - (2)].string);
@@ -3329,29 +3536,35 @@ yyreduce:
if (doc && doc->isHTMLDocument())
str.lower();
(yyval.string) = str;
- ;}
+ }
break;
case 170:
+
+/* Line 1806 of yacc.c */
#line 1039 "../Source/WebCore/css/CSSGrammar.y"
{
(yyval.selector) = static_cast<CSSParser*>(parser)->createFloatingSelector();
(yyval.selector)->setAttribute(QualifiedName(nullAtom, (yyvsp[(3) - (4)].string), nullAtom));
(yyval.selector)->setMatch(CSSSelector::Set);
- ;}
+ }
break;
case 171:
+
+/* Line 1806 of yacc.c */
#line 1044 "../Source/WebCore/css/CSSGrammar.y"
{
(yyval.selector) = static_cast<CSSParser*>(parser)->createFloatingSelector();
(yyval.selector)->setAttribute(QualifiedName(nullAtom, (yyvsp[(3) - (8)].string), nullAtom));
(yyval.selector)->setMatch((CSSSelector::Match)(yyvsp[(4) - (8)].integer));
(yyval.selector)->setValue((yyvsp[(6) - (8)].string));
- ;}
+ }
break;
case 172:
+
+/* Line 1806 of yacc.c */
#line 1050 "../Source/WebCore/css/CSSGrammar.y"
{
AtomicString namespacePrefix = (yyvsp[(3) - (5)].string);
@@ -3360,10 +3573,12 @@ yyreduce:
(yyval.selector)->setAttribute(QualifiedName(namespacePrefix, (yyvsp[(4) - (5)].string),
p->m_styleSheet->determineNamespace(namespacePrefix)));
(yyval.selector)->setMatch(CSSSelector::Set);
- ;}
+ }
break;
case 173:
+
+/* Line 1806 of yacc.c */
#line 1058 "../Source/WebCore/css/CSSGrammar.y"
{
AtomicString namespacePrefix = (yyvsp[(3) - (9)].string);
@@ -3373,52 +3588,66 @@ yyreduce:
p->m_styleSheet->determineNamespace(namespacePrefix)));
(yyval.selector)->setMatch((CSSSelector::Match)(yyvsp[(5) - (9)].integer));
(yyval.selector)->setValue((yyvsp[(7) - (9)].string));
- ;}
+ }
break;
case 174:
+
+/* Line 1806 of yacc.c */
#line 1070 "../Source/WebCore/css/CSSGrammar.y"
{
(yyval.integer) = CSSSelector::Exact;
- ;}
+ }
break;
case 175:
+
+/* Line 1806 of yacc.c */
#line 1073 "../Source/WebCore/css/CSSGrammar.y"
{
(yyval.integer) = CSSSelector::List;
- ;}
+ }
break;
case 176:
+
+/* Line 1806 of yacc.c */
#line 1076 "../Source/WebCore/css/CSSGrammar.y"
{
(yyval.integer) = CSSSelector::Hyphen;
- ;}
+ }
break;
case 177:
+
+/* Line 1806 of yacc.c */
#line 1079 "../Source/WebCore/css/CSSGrammar.y"
{
(yyval.integer) = CSSSelector::Begin;
- ;}
+ }
break;
case 178:
+
+/* Line 1806 of yacc.c */
#line 1082 "../Source/WebCore/css/CSSGrammar.y"
{
(yyval.integer) = CSSSelector::End;
- ;}
+ }
break;
case 179:
+
+/* Line 1806 of yacc.c */
#line 1085 "../Source/WebCore/css/CSSGrammar.y"
{
(yyval.integer) = CSSSelector::Contain;
- ;}
+ }
break;
case 182:
+
+/* Line 1806 of yacc.c */
#line 1096 "../Source/WebCore/css/CSSGrammar.y"
{
(yyval.selector) = static_cast<CSSParser*>(parser)->createFloatingSelector();
@@ -3428,10 +3657,12 @@ yyreduce:
CSSSelector::PseudoType type = (yyval.selector)->pseudoType();
if (type == CSSSelector::PseudoUnknown)
(yyval.selector) = 0;
- ;}
+ }
break;
case 183:
+
+/* Line 1806 of yacc.c */
#line 1107 "../Source/WebCore/css/CSSGrammar.y"
{
(yyval.selector) = static_cast<CSSParser*>(parser)->createFloatingSelector();
@@ -3441,10 +3672,12 @@ yyreduce:
CSSSelector::PseudoType type = (yyval.selector)->pseudoType();
if (type == CSSSelector::PseudoUnknown)
(yyval.selector) = 0;
- ;}
+ }
break;
case 184:
+
+/* Line 1806 of yacc.c */
#line 1116 "../Source/WebCore/css/CSSGrammar.y"
{
(yyval.selector) = static_cast<CSSParser*>(parser)->createFloatingSelector();
@@ -3453,10 +3686,12 @@ yyreduce:
(yyval.selector)->setValue((yyvsp[(3) - (3)].string));
// FIXME: This call is needed to force selector to compute the pseudoType early enough.
(yyval.selector)->pseudoType();
- ;}
+ }
break;
case 185:
+
+/* Line 1806 of yacc.c */
#line 1129 "../Source/WebCore/css/CSSGrammar.y"
{
if ((yyvsp[(4) - (6)].selectorList)) {
@@ -3471,10 +3706,12 @@ yyreduce:
(yyval.selector) = 0;
} else
(yyval.selector) = 0;
- ;}
+ }
break;
case 186:
+
+/* Line 1806 of yacc.c */
#line 1144 "../Source/WebCore/css/CSSGrammar.y"
{
CSSParser *p = static_cast<CSSParser*>(parser);
@@ -3485,10 +3722,12 @@ yyreduce:
CSSSelector::PseudoType type = (yyval.selector)->pseudoType();
if (type == CSSSelector::PseudoUnknown)
(yyval.selector) = 0;
- ;}
+ }
break;
case 187:
+
+/* Line 1806 of yacc.c */
#line 1155 "../Source/WebCore/css/CSSGrammar.y"
{
CSSParser *p = static_cast<CSSParser*>(parser);
@@ -3499,10 +3738,12 @@ yyreduce:
CSSSelector::PseudoType type = (yyval.selector)->pseudoType();
if (type == CSSSelector::PseudoUnknown)
(yyval.selector) = 0;
- ;}
+ }
break;
case 188:
+
+/* Line 1806 of yacc.c */
#line 1166 "../Source/WebCore/css/CSSGrammar.y"
{
CSSParser *p = static_cast<CSSParser*>(parser);
@@ -3521,10 +3762,12 @@ yyreduce:
if (!isValidNthToken((yyvsp[(4) - (6)].string)))
(yyval.selector) = 0;
}
- ;}
+ }
break;
case 189:
+
+/* Line 1806 of yacc.c */
#line 1185 "../Source/WebCore/css/CSSGrammar.y"
{
if (!(yyvsp[(4) - (6)].selector) || !(yyvsp[(4) - (6)].selector)->isSimple())
@@ -3541,100 +3784,126 @@ yyreduce:
(yyvsp[(2) - (6)].string).lower();
(yyval.selector)->setValue((yyvsp[(2) - (6)].string));
}
- ;}
+ }
break;
case 190:
+
+/* Line 1806 of yacc.c */
#line 1204 "../Source/WebCore/css/CSSGrammar.y"
{
(yyval.boolean) = (yyvsp[(1) - (1)].boolean);
- ;}
+ }
break;
case 191:
+
+/* Line 1806 of yacc.c */
#line 1207 "../Source/WebCore/css/CSSGrammar.y"
{
(yyval.boolean) = (yyvsp[(1) - (2)].boolean);
if ( (yyvsp[(2) - (2)].boolean) )
(yyval.boolean) = (yyvsp[(2) - (2)].boolean);
- ;}
+ }
break;
case 192:
+
+/* Line 1806 of yacc.c */
#line 1212 "../Source/WebCore/css/CSSGrammar.y"
{
(yyval.boolean) = (yyvsp[(1) - (1)].boolean);
- ;}
+ }
break;
case 193:
+
+/* Line 1806 of yacc.c */
#line 1215 "../Source/WebCore/css/CSSGrammar.y"
{
(yyval.boolean) = false;
- ;}
+ }
break;
case 194:
+
+/* Line 1806 of yacc.c */
#line 1218 "../Source/WebCore/css/CSSGrammar.y"
{
(yyval.boolean) = false;
- ;}
+ }
break;
case 195:
+
+/* Line 1806 of yacc.c */
#line 1221 "../Source/WebCore/css/CSSGrammar.y"
{
(yyval.boolean) = (yyvsp[(1) - (2)].boolean);
- ;}
+ }
break;
case 196:
+
+/* Line 1806 of yacc.c */
#line 1224 "../Source/WebCore/css/CSSGrammar.y"
{
(yyval.boolean) = (yyvsp[(1) - (2)].boolean);
- ;}
+ }
break;
case 197:
+
+/* Line 1806 of yacc.c */
#line 1230 "../Source/WebCore/css/CSSGrammar.y"
{
CSSParser* p = static_cast<CSSParser*>(parser);
p->markPropertyStart();
(yyval.boolean) = (yyvsp[(1) - (3)].boolean);
- ;}
+ }
break;
case 198:
+
+/* Line 1806 of yacc.c */
#line 1235 "../Source/WebCore/css/CSSGrammar.y"
{
(yyval.boolean) = false;
- ;}
+ }
break;
case 199:
+
+/* Line 1806 of yacc.c */
#line 1238 "../Source/WebCore/css/CSSGrammar.y"
{
(yyval.boolean) = false;
- ;}
+ }
break;
case 200:
+
+/* Line 1806 of yacc.c */
#line 1241 "../Source/WebCore/css/CSSGrammar.y"
{
CSSParser* p = static_cast<CSSParser*>(parser);
p->markPropertyStart();
(yyval.boolean) = false;
- ;}
+ }
break;
case 201:
+
+/* Line 1806 of yacc.c */
#line 1246 "../Source/WebCore/css/CSSGrammar.y"
{
(yyval.boolean) = false;
- ;}
+ }
break;
case 202:
+
+/* Line 1806 of yacc.c */
#line 1249 "../Source/WebCore/css/CSSGrammar.y"
{
CSSParser* p = static_cast<CSSParser*>(parser);
@@ -3642,28 +3911,34 @@ yyreduce:
(yyval.boolean) = (yyvsp[(1) - (4)].boolean);
if ((yyvsp[(2) - (4)].boolean))
(yyval.boolean) = (yyvsp[(2) - (4)].boolean);
- ;}
+ }
break;
case 203:
+
+/* Line 1806 of yacc.c */
#line 1256 "../Source/WebCore/css/CSSGrammar.y"
{
CSSParser* p = static_cast<CSSParser*>(parser);
p->markPropertyStart();
(yyval.boolean) = (yyvsp[(1) - (4)].boolean);
- ;}
+ }
break;
case 204:
+
+/* Line 1806 of yacc.c */
#line 1261 "../Source/WebCore/css/CSSGrammar.y"
{
CSSParser* p = static_cast<CSSParser*>(parser);
p->markPropertyStart();
(yyval.boolean) = (yyvsp[(1) - (6)].boolean);
- ;}
+ }
break;
case 205:
+
+/* Line 1806 of yacc.c */
#line 1269 "../Source/WebCore/css/CSSGrammar.y"
{
(yyval.boolean) = false;
@@ -3681,17 +3956,21 @@ yyreduce:
p->m_valueList = 0;
}
p->markPropertyEnd((yyvsp[(5) - (5)].boolean), isPropertyParsed);
- ;}
+ }
break;
case 206:
+
+/* Line 1806 of yacc.c */
#line 1287 "../Source/WebCore/css/CSSGrammar.y"
{
(yyval.boolean) = false;
- ;}
+ }
break;
case 207:
+
+/* Line 1806 of yacc.c */
#line 1291 "../Source/WebCore/css/CSSGrammar.y"
{
/* The default movable type template has letter-spacing: .none; Handle this by looking for
@@ -3700,82 +3979,102 @@ yyreduce:
CSSParser* p = static_cast<CSSParser*>(parser);
p->markPropertyEnd(false, false);
(yyval.boolean) = false;
- ;}
+ }
break;
case 208:
+
+/* Line 1806 of yacc.c */
#line 1300 "../Source/WebCore/css/CSSGrammar.y"
{
/* When we encounter something like p {color: red !important fail;} we should drop the declaration */
CSSParser* p = static_cast<CSSParser*>(parser);
p->markPropertyEnd(false, false);
(yyval.boolean) = false;
- ;}
+ }
break;
case 209:
+
+/* Line 1806 of yacc.c */
#line 1307 "../Source/WebCore/css/CSSGrammar.y"
{
/* Handle this case: div { text-align: center; !important } Just reduce away the stray !important. */
(yyval.boolean) = false;
- ;}
+ }
break;
case 210:
+
+/* Line 1806 of yacc.c */
#line 1312 "../Source/WebCore/css/CSSGrammar.y"
{
/* div { font-family: } Just reduce away this property with no value. */
CSSParser* p = static_cast<CSSParser*>(parser);
p->markPropertyEnd(false, false);
(yyval.boolean) = false;
- ;}
+ }
break;
case 211:
+
+/* Line 1806 of yacc.c */
#line 1319 "../Source/WebCore/css/CSSGrammar.y"
{
/* if we come across rules with invalid values like this case: p { weight: *; }, just discard the rule */
CSSParser* p = static_cast<CSSParser*>(parser);
p->markPropertyEnd(false, false);
(yyval.boolean) = false;
- ;}
+ }
break;
case 212:
+
+/* Line 1806 of yacc.c */
#line 1326 "../Source/WebCore/css/CSSGrammar.y"
{
/* if we come across: div { color{;color:maroon} }, ignore everything within curly brackets */
(yyval.boolean) = false;
- ;}
+ }
break;
case 213:
+
+/* Line 1806 of yacc.c */
#line 1333 "../Source/WebCore/css/CSSGrammar.y"
{
(yyval.integer) = cssPropertyID((yyvsp[(1) - (2)].string));
- ;}
+ }
break;
case 214:
+
+/* Line 1806 of yacc.c */
#line 1339 "../Source/WebCore/css/CSSGrammar.y"
- { (yyval.boolean) = true; ;}
+ { (yyval.boolean) = true; }
break;
case 215:
+
+/* Line 1806 of yacc.c */
#line 1340 "../Source/WebCore/css/CSSGrammar.y"
- { (yyval.boolean) = false; ;}
+ { (yyval.boolean) = false; }
break;
case 216:
+
+/* Line 1806 of yacc.c */
#line 1344 "../Source/WebCore/css/CSSGrammar.y"
{
CSSParser* p = static_cast<CSSParser*>(parser);
(yyval.valueList) = p->createFloatingValueList();
(yyval.valueList)->addValue(p->sinkFloatingValue((yyvsp[(1) - (1)].value)));
- ;}
+ }
break;
case 217:
+
+/* Line 1806 of yacc.c */
#line 1349 "../Source/WebCore/css/CSSGrammar.y"
{
CSSParser* p = static_cast<CSSParser*>(parser);
@@ -3790,234 +4089,316 @@ yyreduce:
}
(yyval.valueList)->addValue(p->sinkFloatingValue((yyvsp[(3) - (3)].value)));
}
- ;}
+ }
break;
case 218:
+
+/* Line 1806 of yacc.c */
#line 1363 "../Source/WebCore/css/CSSGrammar.y"
{
(yyval.valueList) = 0;
- ;}
+ }
break;
case 219:
+
+/* Line 1806 of yacc.c */
#line 1366 "../Source/WebCore/css/CSSGrammar.y"
{
(yyval.valueList) = 0;
- ;}
+ }
break;
case 220:
+
+/* Line 1806 of yacc.c */
#line 1369 "../Source/WebCore/css/CSSGrammar.y"
{
(yyval.valueList) = 0;
- ;}
+ }
break;
case 221:
+
+/* Line 1806 of yacc.c */
#line 1375 "../Source/WebCore/css/CSSGrammar.y"
{
(yyval.character) = '/';
- ;}
+ }
break;
case 222:
+
+/* Line 1806 of yacc.c */
#line 1378 "../Source/WebCore/css/CSSGrammar.y"
{
(yyval.character) = ',';
- ;}
+ }
break;
case 223:
+
+/* Line 1806 of yacc.c */
#line 1381 "../Source/WebCore/css/CSSGrammar.y"
{
(yyval.character) = 0;
- ;}
+ }
break;
case 224:
+
+/* Line 1806 of yacc.c */
#line 1387 "../Source/WebCore/css/CSSGrammar.y"
- { (yyval.value) = (yyvsp[(1) - (1)].value); ;}
+ { (yyval.value) = (yyvsp[(1) - (1)].value); }
break;
case 225:
+
+/* Line 1806 of yacc.c */
#line 1388 "../Source/WebCore/css/CSSGrammar.y"
- { (yyval.value) = (yyvsp[(2) - (2)].value); (yyval.value).fValue *= (yyvsp[(1) - (2)].integer); ;}
+ { (yyval.value) = (yyvsp[(2) - (2)].value); (yyval.value).fValue *= (yyvsp[(1) - (2)].integer); }
break;
case 226:
+
+/* Line 1806 of yacc.c */
#line 1389 "../Source/WebCore/css/CSSGrammar.y"
- { (yyval.value).id = 0; (yyval.value).string = (yyvsp[(1) - (2)].string); (yyval.value).unit = CSSPrimitiveValue::CSS_STRING; ;}
+ { (yyval.value).id = 0; (yyval.value).string = (yyvsp[(1) - (2)].string); (yyval.value).unit = CSSPrimitiveValue::CSS_STRING; }
break;
case 227:
+
+/* Line 1806 of yacc.c */
#line 1390 "../Source/WebCore/css/CSSGrammar.y"
{
(yyval.value).id = cssValueKeywordID((yyvsp[(1) - (2)].string));
(yyval.value).unit = CSSPrimitiveValue::CSS_IDENT;
(yyval.value).string = (yyvsp[(1) - (2)].string);
- ;}
+ }
break;
case 228:
+
+/* Line 1806 of yacc.c */
#line 1396 "../Source/WebCore/css/CSSGrammar.y"
- { (yyval.value).id = 0; (yyval.value).string = (yyvsp[(1) - (2)].string); (yyval.value).unit = CSSPrimitiveValue::CSS_DIMENSION; ;}
+ { (yyval.value).id = 0; (yyval.value).string = (yyvsp[(1) - (2)].string); (yyval.value).unit = CSSPrimitiveValue::CSS_DIMENSION; }
break;
case 229:
+
+/* Line 1806 of yacc.c */
#line 1397 "../Source/WebCore/css/CSSGrammar.y"
- { (yyval.value).id = 0; (yyval.value).string = (yyvsp[(2) - (3)].string); (yyval.value).unit = CSSPrimitiveValue::CSS_DIMENSION; ;}
+ { (yyval.value).id = 0; (yyval.value).string = (yyvsp[(2) - (3)].string); (yyval.value).unit = CSSPrimitiveValue::CSS_DIMENSION; }
break;
case 230:
+
+/* Line 1806 of yacc.c */
#line 1398 "../Source/WebCore/css/CSSGrammar.y"
- { (yyval.value).id = 0; (yyval.value).string = (yyvsp[(1) - (2)].string); (yyval.value).unit = CSSPrimitiveValue::CSS_URI; ;}
+ { (yyval.value).id = 0; (yyval.value).string = (yyvsp[(1) - (2)].string); (yyval.value).unit = CSSPrimitiveValue::CSS_URI; }
break;
case 231:
+
+/* Line 1806 of yacc.c */
#line 1399 "../Source/WebCore/css/CSSGrammar.y"
- { (yyval.value).id = 0; (yyval.value).string = (yyvsp[(1) - (2)].string); (yyval.value).unit = CSSPrimitiveValue::CSS_UNICODE_RANGE; ;}
+ { (yyval.value).id = 0; (yyval.value).string = (yyvsp[(1) - (2)].string); (yyval.value).unit = CSSPrimitiveValue::CSS_UNICODE_RANGE; }
break;
case 232:
+
+/* Line 1806 of yacc.c */
#line 1400 "../Source/WebCore/css/CSSGrammar.y"
- { (yyval.value).id = 0; (yyval.value).string = (yyvsp[(1) - (2)].string); (yyval.value).unit = CSSPrimitiveValue::CSS_PARSER_HEXCOLOR; ;}
+ { (yyval.value).id = 0; (yyval.value).string = (yyvsp[(1) - (2)].string); (yyval.value).unit = CSSPrimitiveValue::CSS_PARSER_HEXCOLOR; }
break;
case 233:
+
+/* Line 1806 of yacc.c */
#line 1401 "../Source/WebCore/css/CSSGrammar.y"
- { (yyval.value).id = 0; (yyval.value).string = CSSParserString(); (yyval.value).unit = CSSPrimitiveValue::CSS_PARSER_HEXCOLOR; ;}
+ { (yyval.value).id = 0; (yyval.value).string = CSSParserString(); (yyval.value).unit = CSSPrimitiveValue::CSS_PARSER_HEXCOLOR; }
break;
case 234:
+
+/* Line 1806 of yacc.c */
#line 1403 "../Source/WebCore/css/CSSGrammar.y"
{
(yyval.value) = (yyvsp[(1) - (1)].value);
- ;}
+ }
break;
case 235:
+
+/* Line 1806 of yacc.c */
#line 1406 "../Source/WebCore/css/CSSGrammar.y"
{
(yyval.value) = (yyvsp[(1) - (1)].value);
- ;}
+ }
break;
case 236:
+
+/* Line 1806 of yacc.c */
#line 1409 "../Source/WebCore/css/CSSGrammar.y"
{
(yyval.value) = (yyvsp[(1) - (1)].value);
- ;}
+ }
break;
case 237:
+
+/* Line 1806 of yacc.c */
#line 1412 "../Source/WebCore/css/CSSGrammar.y"
{ /* Handle width: %; */
(yyval.value).id = 0; (yyval.value).unit = 0;
- ;}
+ }
break;
case 238:
+
+/* Line 1806 of yacc.c */
#line 1418 "../Source/WebCore/css/CSSGrammar.y"
- { (yyval.value).id = 0; (yyval.value).isInt = true; (yyval.value).fValue = (yyvsp[(1) - (2)].number); (yyval.value).unit = CSSPrimitiveValue::CSS_NUMBER; ;}
+ { (yyval.value).id = 0; (yyval.value).isInt = true; (yyval.value).fValue = (yyvsp[(1) - (2)].number); (yyval.value).unit = CSSPrimitiveValue::CSS_NUMBER; }
break;
case 239:
+
+/* Line 1806 of yacc.c */
#line 1419 "../Source/WebCore/css/CSSGrammar.y"
- { (yyval.value).id = 0; (yyval.value).isInt = false; (yyval.value).fValue = (yyvsp[(1) - (2)].number); (yyval.value).unit = CSSPrimitiveValue::CSS_NUMBER; ;}
+ { (yyval.value).id = 0; (yyval.value).isInt = false; (yyval.value).fValue = (yyvsp[(1) - (2)].number); (yyval.value).unit = CSSPrimitiveValue::CSS_NUMBER; }
break;
case 240:
+
+/* Line 1806 of yacc.c */
#line 1420 "../Source/WebCore/css/CSSGrammar.y"
- { (yyval.value).id = 0; (yyval.value).fValue = (yyvsp[(1) - (2)].number); (yyval.value).unit = CSSPrimitiveValue::CSS_PERCENTAGE; ;}
+ { (yyval.value).id = 0; (yyval.value).fValue = (yyvsp[(1) - (2)].number); (yyval.value).unit = CSSPrimitiveValue::CSS_PERCENTAGE; }
break;
case 241:
+
+/* Line 1806 of yacc.c */
#line 1421 "../Source/WebCore/css/CSSGrammar.y"
- { (yyval.value).id = 0; (yyval.value).fValue = (yyvsp[(1) - (2)].number); (yyval.value).unit = CSSPrimitiveValue::CSS_PX; ;}
+ { (yyval.value).id = 0; (yyval.value).fValue = (yyvsp[(1) - (2)].number); (yyval.value).unit = CSSPrimitiveValue::CSS_PX; }
break;
case 242:
+
+/* Line 1806 of yacc.c */
#line 1422 "../Source/WebCore/css/CSSGrammar.y"
- { (yyval.value).id = 0; (yyval.value).fValue = (yyvsp[(1) - (2)].number); (yyval.value).unit = CSSPrimitiveValue::CSS_CM; ;}
+ { (yyval.value).id = 0; (yyval.value).fValue = (yyvsp[(1) - (2)].number); (yyval.value).unit = CSSPrimitiveValue::CSS_CM; }
break;
case 243:
+
+/* Line 1806 of yacc.c */
#line 1423 "../Source/WebCore/css/CSSGrammar.y"
- { (yyval.value).id = 0; (yyval.value).fValue = (yyvsp[(1) - (2)].number); (yyval.value).unit = CSSPrimitiveValue::CSS_MM; ;}
+ { (yyval.value).id = 0; (yyval.value).fValue = (yyvsp[(1) - (2)].number); (yyval.value).unit = CSSPrimitiveValue::CSS_MM; }
break;
case 244:
+
+/* Line 1806 of yacc.c */
#line 1424 "../Source/WebCore/css/CSSGrammar.y"
- { (yyval.value).id = 0; (yyval.value).fValue = (yyvsp[(1) - (2)].number); (yyval.value).unit = CSSPrimitiveValue::CSS_IN; ;}
+ { (yyval.value).id = 0; (yyval.value).fValue = (yyvsp[(1) - (2)].number); (yyval.value).unit = CSSPrimitiveValue::CSS_IN; }
break;
case 245:
+
+/* Line 1806 of yacc.c */
#line 1425 "../Source/WebCore/css/CSSGrammar.y"
- { (yyval.value).id = 0; (yyval.value).fValue = (yyvsp[(1) - (2)].number); (yyval.value).unit = CSSPrimitiveValue::CSS_PT; ;}
+ { (yyval.value).id = 0; (yyval.value).fValue = (yyvsp[(1) - (2)].number); (yyval.value).unit = CSSPrimitiveValue::CSS_PT; }
break;
case 246:
+
+/* Line 1806 of yacc.c */
#line 1426 "../Source/WebCore/css/CSSGrammar.y"
- { (yyval.value).id = 0; (yyval.value).fValue = (yyvsp[(1) - (2)].number); (yyval.value).unit = CSSPrimitiveValue::CSS_PC; ;}
+ { (yyval.value).id = 0; (yyval.value).fValue = (yyvsp[(1) - (2)].number); (yyval.value).unit = CSSPrimitiveValue::CSS_PC; }
break;
case 247:
+
+/* Line 1806 of yacc.c */
#line 1427 "../Source/WebCore/css/CSSGrammar.y"
- { (yyval.value).id = 0; (yyval.value).fValue = (yyvsp[(1) - (2)].number); (yyval.value).unit = CSSPrimitiveValue::CSS_DEG; ;}
+ { (yyval.value).id = 0; (yyval.value).fValue = (yyvsp[(1) - (2)].number); (yyval.value).unit = CSSPrimitiveValue::CSS_DEG; }
break;
case 248:
+
+/* Line 1806 of yacc.c */
#line 1428 "../Source/WebCore/css/CSSGrammar.y"
- { (yyval.value).id = 0; (yyval.value).fValue = (yyvsp[(1) - (2)].number); (yyval.value).unit = CSSPrimitiveValue::CSS_RAD; ;}
+ { (yyval.value).id = 0; (yyval.value).fValue = (yyvsp[(1) - (2)].number); (yyval.value).unit = CSSPrimitiveValue::CSS_RAD; }
break;
case 249:
+
+/* Line 1806 of yacc.c */
#line 1429 "../Source/WebCore/css/CSSGrammar.y"
- { (yyval.value).id = 0; (yyval.value).fValue = (yyvsp[(1) - (2)].number); (yyval.value).unit = CSSPrimitiveValue::CSS_GRAD; ;}
+ { (yyval.value).id = 0; (yyval.value).fValue = (yyvsp[(1) - (2)].number); (yyval.value).unit = CSSPrimitiveValue::CSS_GRAD; }
break;
case 250:
+
+/* Line 1806 of yacc.c */
#line 1430 "../Source/WebCore/css/CSSGrammar.y"
- { (yyval.value).id = 0; (yyval.value).fValue = (yyvsp[(1) - (2)].number); (yyval.value).unit = CSSPrimitiveValue::CSS_TURN; ;}
+ { (yyval.value).id = 0; (yyval.value).fValue = (yyvsp[(1) - (2)].number); (yyval.value).unit = CSSPrimitiveValue::CSS_TURN; }
break;
case 251:
+
+/* Line 1806 of yacc.c */
#line 1431 "../Source/WebCore/css/CSSGrammar.y"
- { (yyval.value).id = 0; (yyval.value).fValue = (yyvsp[(1) - (2)].number); (yyval.value).unit = CSSPrimitiveValue::CSS_MS; ;}
+ { (yyval.value).id = 0; (yyval.value).fValue = (yyvsp[(1) - (2)].number); (yyval.value).unit = CSSPrimitiveValue::CSS_MS; }
break;
case 252:
+
+/* Line 1806 of yacc.c */
#line 1432 "../Source/WebCore/css/CSSGrammar.y"
- { (yyval.value).id = 0; (yyval.value).fValue = (yyvsp[(1) - (2)].number); (yyval.value).unit = CSSPrimitiveValue::CSS_S; ;}
+ { (yyval.value).id = 0; (yyval.value).fValue = (yyvsp[(1) - (2)].number); (yyval.value).unit = CSSPrimitiveValue::CSS_S; }
break;
case 253:
+
+/* Line 1806 of yacc.c */
#line 1433 "../Source/WebCore/css/CSSGrammar.y"
- { (yyval.value).id = 0; (yyval.value).fValue = (yyvsp[(1) - (2)].number); (yyval.value).unit = CSSPrimitiveValue::CSS_HZ; ;}
+ { (yyval.value).id = 0; (yyval.value).fValue = (yyvsp[(1) - (2)].number); (yyval.value).unit = CSSPrimitiveValue::CSS_HZ; }
break;
case 254:
+
+/* Line 1806 of yacc.c */
#line 1434 "../Source/WebCore/css/CSSGrammar.y"
- { (yyval.value).id = 0; (yyval.value).fValue = (yyvsp[(1) - (2)].number); (yyval.value).unit = CSSPrimitiveValue::CSS_KHZ; ;}
+ { (yyval.value).id = 0; (yyval.value).fValue = (yyvsp[(1) - (2)].number); (yyval.value).unit = CSSPrimitiveValue::CSS_KHZ; }
break;
case 255:
+
+/* Line 1806 of yacc.c */
#line 1435 "../Source/WebCore/css/CSSGrammar.y"
- { (yyval.value).id = 0; (yyval.value).fValue = (yyvsp[(1) - (2)].number); (yyval.value).unit = CSSPrimitiveValue::CSS_EMS; ;}
+ { (yyval.value).id = 0; (yyval.value).fValue = (yyvsp[(1) - (2)].number); (yyval.value).unit = CSSPrimitiveValue::CSS_EMS; }
break;
case 256:
+
+/* Line 1806 of yacc.c */
#line 1436 "../Source/WebCore/css/CSSGrammar.y"
- { (yyval.value).id = 0; (yyval.value).fValue = (yyvsp[(1) - (2)].number); (yyval.value).unit = CSSParserValue::Q_EMS; ;}
+ { (yyval.value).id = 0; (yyval.value).fValue = (yyvsp[(1) - (2)].number); (yyval.value).unit = CSSParserValue::Q_EMS; }
break;
case 257:
+
+/* Line 1806 of yacc.c */
#line 1437 "../Source/WebCore/css/CSSGrammar.y"
- { (yyval.value).id = 0; (yyval.value).fValue = (yyvsp[(1) - (2)].number); (yyval.value).unit = CSSPrimitiveValue::CSS_EXS; ;}
+ { (yyval.value).id = 0; (yyval.value).fValue = (yyvsp[(1) - (2)].number); (yyval.value).unit = CSSPrimitiveValue::CSS_EXS; }
break;
case 258:
+
+/* Line 1806 of yacc.c */
#line 1438 "../Source/WebCore/css/CSSGrammar.y"
{
(yyval.value).id = 0;
@@ -4026,10 +4407,12 @@ yyreduce:
CSSParser* p = static_cast<CSSParser*>(parser);
if (Document* doc = p->document())
doc->setUsesRemUnits(true);
- ;}
+ }
break;
case 259:
+
+/* Line 1806 of yacc.c */
#line 1449 "../Source/WebCore/css/CSSGrammar.y"
{
CSSParser* p = static_cast<CSSParser*>(parser);
@@ -4039,10 +4422,12 @@ yyreduce:
(yyval.value).id = 0;
(yyval.value).unit = CSSParserValue::Function;
(yyval.value).function = f;
- ;}
+ }
break;
case 260:
+
+/* Line 1806 of yacc.c */
#line 1458 "../Source/WebCore/css/CSSGrammar.y"
{
CSSParser* p = static_cast<CSSParser*>(parser);
@@ -4052,58 +4437,74 @@ yyreduce:
(yyval.value).id = 0;
(yyval.value).unit = CSSParserValue::Function;
(yyval.value).function = f;
- ;}
+ }
break;
case 261:
+
+/* Line 1806 of yacc.c */
#line 1470 "../Source/WebCore/css/CSSGrammar.y"
- { (yyval.value) = (yyvsp[(1) - (1)].value); ;}
+ { (yyval.value) = (yyvsp[(1) - (1)].value); }
break;
case 262:
+
+/* Line 1806 of yacc.c */
#line 1471 "../Source/WebCore/css/CSSGrammar.y"
- { (yyval.value) = (yyvsp[(2) - (2)].value); (yyval.value).fValue *= (yyvsp[(1) - (2)].integer); ;}
+ { (yyval.value) = (yyvsp[(2) - (2)].value); (yyval.value).fValue *= (yyvsp[(1) - (2)].integer); }
break;
case 263:
+
+/* Line 1806 of yacc.c */
#line 1475 "../Source/WebCore/css/CSSGrammar.y"
{
(yyval.character) = '+';
- ;}
+ }
break;
case 264:
+
+/* Line 1806 of yacc.c */
#line 1478 "../Source/WebCore/css/CSSGrammar.y"
{
(yyval.character) = '-';
- ;}
+ }
break;
case 265:
+
+/* Line 1806 of yacc.c */
#line 1481 "../Source/WebCore/css/CSSGrammar.y"
{
(yyval.character) = '*';
- ;}
+ }
break;
case 266:
+
+/* Line 1806 of yacc.c */
#line 1484 "../Source/WebCore/css/CSSGrammar.y"
{
(yyval.character) = '/';
- ;}
+ }
break;
case 267:
+
+/* Line 1806 of yacc.c */
#line 1487 "../Source/WebCore/css/CSSGrammar.y"
{
if (equalIgnoringCase("mod", (yyvsp[(1) - (2)].string).characters, (yyvsp[(1) - (2)].string).length))
(yyval.character) = '%';
else
(yyval.character) = 0;
- ;}
+ }
break;
case 268:
+
+/* Line 1806 of yacc.c */
#line 1496 "../Source/WebCore/css/CSSGrammar.y"
{
if ((yyvsp[(3) - (6)].valueList)) {
@@ -4117,19 +4518,23 @@ yyreduce:
(yyval.valueList)->addValue(v);
} else
(yyval.valueList) = 0;
- ;}
+ }
break;
case 269:
+
+/* Line 1806 of yacc.c */
#line 1511 "../Source/WebCore/css/CSSGrammar.y"
{
CSSParser* p = static_cast<CSSParser*>(parser);
(yyval.valueList) = p->createFloatingValueList();
(yyval.valueList)->addValue(p->sinkFloatingValue((yyvsp[(1) - (2)].value)));
- ;}
+ }
break;
case 270:
+
+/* Line 1806 of yacc.c */
#line 1516 "../Source/WebCore/css/CSSGrammar.y"
{
CSSParser* p = static_cast<CSSParser*>(parser);
@@ -4144,10 +4549,12 @@ yyreduce:
} else
(yyval.valueList) = 0;
- ;}
+ }
break;
case 271:
+
+/* Line 1806 of yacc.c */
#line 1530 "../Source/WebCore/css/CSSGrammar.y"
{
if ((yyvsp[(1) - (3)].valueList) && (yyvsp[(2) - (3)].character) && (yyvsp[(3) - (3)].valueList)) {
@@ -4160,24 +4567,30 @@ yyreduce:
(yyval.valueList)->extend(*((yyvsp[(3) - (3)].valueList)));
} else
(yyval.valueList) = 0;
- ;}
+ }
break;
case 273:
+
+/* Line 1806 of yacc.c */
#line 1543 "../Source/WebCore/css/CSSGrammar.y"
{
(yyval.valueList) = 0;
- ;}
+ }
break;
case 274:
+
+/* Line 1806 of yacc.c */
#line 1549 "../Source/WebCore/css/CSSGrammar.y"
{
(yyval.valueList) = (yyvsp[(1) - (1)].valueList);
- ;}
+ }
break;
case 275:
+
+/* Line 1806 of yacc.c */
#line 1552 "../Source/WebCore/css/CSSGrammar.y"
{
if ((yyvsp[(1) - (4)].valueList) && (yyvsp[(4) - (4)].valueList)) {
@@ -4190,10 +4603,12 @@ yyreduce:
(yyval.valueList)->extend(*((yyvsp[(4) - (4)].valueList)));
} else
(yyval.valueList) = 0;
- ;}
+ }
break;
case 276:
+
+/* Line 1806 of yacc.c */
#line 1567 "../Source/WebCore/css/CSSGrammar.y"
{
CSSParser* p = static_cast<CSSParser*>(parser);
@@ -4203,31 +4618,39 @@ yyreduce:
(yyval.value).id = 0;
(yyval.value).unit = CSSParserValue::Function;
(yyval.value).function = f;
- ;}
+ }
break;
case 277:
+
+/* Line 1806 of yacc.c */
#line 1576 "../Source/WebCore/css/CSSGrammar.y"
{
YYERROR;
- ;}
+ }
break;
case 278:
+
+/* Line 1806 of yacc.c */
#line 1583 "../Source/WebCore/css/CSSGrammar.y"
{
(yyval.string) = (yyvsp[(1) - (1)].string);
- ;}
+ }
break;
case 279:
+
+/* Line 1806 of yacc.c */
#line 1586 "../Source/WebCore/css/CSSGrammar.y"
{
(yyval.string) = (yyvsp[(1) - (1)].string);
- ;}
+ }
break;
case 280:
+
+/* Line 1806 of yacc.c */
#line 1592 "../Source/WebCore/css/CSSGrammar.y"
{
CSSParser* p = static_cast<CSSParser*>(parser);
@@ -4237,70 +4660,98 @@ yyreduce:
(yyval.value).id = 0;
(yyval.value).unit = CSSParserValue::Function;
(yyval.value).function = f;
- ;}
+ }
break;
case 281:
+
+/* Line 1806 of yacc.c */
#line 1601 "../Source/WebCore/css/CSSGrammar.y"
{
YYERROR;
- ;}
+ }
break;
case 282:
+
+/* Line 1806 of yacc.c */
#line 1609 "../Source/WebCore/css/CSSGrammar.y"
{
(yyval.rule) = 0;
- ;}
+ }
break;
case 283:
+
+/* Line 1806 of yacc.c */
#line 1612 "../Source/WebCore/css/CSSGrammar.y"
{
(yyval.rule) = 0;
- ;}
+ }
break;
case 284:
+
+/* Line 1806 of yacc.c */
#line 1618 "../Source/WebCore/css/CSSGrammar.y"
{
(yyval.rule) = 0;
- ;}
+ }
break;
case 285:
+
+/* Line 1806 of yacc.c */
#line 1621 "../Source/WebCore/css/CSSGrammar.y"
{
(yyval.rule) = 0;
- ;}
+ }
break;
case 286:
+
+/* Line 1806 of yacc.c */
#line 1627 "../Source/WebCore/css/CSSGrammar.y"
{
(yyval.rule) = 0;
- ;}
+ }
break;
case 287:
+
+/* Line 1806 of yacc.c */
#line 1645 "../Source/WebCore/css/CSSGrammar.y"
{
static_cast<CSSParser*>(parser)->invalidBlockHit();
- ;}
+ }
break;
case 288:
+
+/* Line 1806 of yacc.c */
#line 1648 "../Source/WebCore/css/CSSGrammar.y"
{
static_cast<CSSParser*>(parser)->invalidBlockHit();
- ;}
+ }
break;
-/* Line 1267 of yacc.c. */
-#line 4302 "/Source/WebCore/generated/CSSGrammar.tab.c"
+
+/* Line 1806 of yacc.c */
+#line 4742 "/Source/WebCore/generated/CSSGrammar.tab.c"
default: break;
}
+ /* User semantic actions sometimes alter yychar, and that requires
+ that yytoken be updated with the new translation. We take the
+ approach of translating immediately before every use of yytoken.
+ One alternative is translating here after every semantic action,
+ but that translation would be missed if the semantic action invokes
+ YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or
+ if it invokes YYBACKUP. In the case of YYABORT or YYACCEPT, an
+ incorrect destructor might then be invoked immediately. In the
+ case of YYERROR or YYBACKUP, subsequent parser actions might lead
+ to an incorrect destructor call or verbose syntax error message
+ before the lookahead is translated. */
YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
YYPOPSTACK (yylen);
@@ -4309,7 +4760,6 @@ yyreduce:
*++yyvsp = yyval;
-
/* Now `shift' the result of the reduction. Determine what state
that goes to, based on the state we popped back to and the rule
number reduced by. */
@@ -4329,6 +4779,10 @@ yyreduce:
| yyerrlab -- here on detecting error |
`------------------------------------*/
yyerrlab:
+ /* Make sure we have latest lookahead translation. See comments at
+ user semantic actions for why this is necessary. */
+ yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar);
+
/* If not already recovering from an error, report this error. */
if (!yyerrstatus)
{
@@ -4336,37 +4790,36 @@ yyerrlab:
#if ! YYERROR_VERBOSE
yyerror (YY_("syntax error"));
#else
+# define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \
+ yyssp, yytoken)
{
- YYSIZE_T yysize = yysyntax_error (0, yystate, yychar);
- if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM)
- {
- YYSIZE_T yyalloc = 2 * yysize;
- if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM))
- yyalloc = YYSTACK_ALLOC_MAXIMUM;
- if (yymsg != yymsgbuf)
- YYSTACK_FREE (yymsg);
- yymsg = (char *) YYSTACK_ALLOC (yyalloc);
- if (yymsg)
- yymsg_alloc = yyalloc;
- else
- {
- yymsg = yymsgbuf;
- yymsg_alloc = sizeof yymsgbuf;
- }
- }
-
- if (0 < yysize && yysize <= yymsg_alloc)
- {
- (void) yysyntax_error (yymsg, yystate, yychar);
- yyerror (yymsg);
- }
- else
- {
- yyerror (YY_("syntax error"));
- if (yysize != 0)
- goto yyexhaustedlab;
- }
+ char const *yymsgp = YY_("syntax error");
+ int yysyntax_error_status;
+ yysyntax_error_status = YYSYNTAX_ERROR;
+ if (yysyntax_error_status == 0)
+ yymsgp = yymsg;
+ else if (yysyntax_error_status == 1)
+ {
+ if (yymsg != yymsgbuf)
+ YYSTACK_FREE (yymsg);
+ yymsg = (char *) YYSTACK_ALLOC (yymsg_alloc);
+ if (!yymsg)
+ {
+ yymsg = yymsgbuf;
+ yymsg_alloc = sizeof yymsgbuf;
+ yysyntax_error_status = 2;
+ }
+ else
+ {
+ yysyntax_error_status = YYSYNTAX_ERROR;
+ yymsgp = yymsg;
+ }
+ }
+ yyerror (yymsgp);
+ if (yysyntax_error_status == 2)
+ goto yyexhaustedlab;
}
+# undef YYSYNTAX_ERROR
#endif
}
@@ -4374,7 +4827,7 @@ yyerrlab:
if (yyerrstatus == 3)
{
- /* If just tried and failed to reuse look-ahead token after an
+ /* If just tried and failed to reuse lookahead token after an
error, discard it. */
if (yychar <= YYEOF)
@@ -4391,7 +4844,7 @@ yyerrlab:
}
}
- /* Else will try to reuse look-ahead token after shifting the error
+ /* Else will try to reuse lookahead token after shifting the error
token. */
goto yyerrlab1;
@@ -4425,7 +4878,7 @@ yyerrlab1:
for (;;)
{
yyn = yypact[yystate];
- if (yyn != YYPACT_NINF)
+ if (!yypact_value_is_default (yyn))
{
yyn += YYTERROR;
if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
@@ -4448,9 +4901,6 @@ yyerrlab1:
YY_STACK_PRINT (yyss, yyssp);
}
- if (yyn == YYFINAL)
- YYACCEPT;
-
*++yyvsp = yylval;
@@ -4475,7 +4925,7 @@ yyabortlab:
yyresult = 1;
goto yyreturn;
-#ifndef yyoverflow
+#if !defined(yyoverflow) || YYERROR_VERBOSE
/*-------------------------------------------------.
| yyexhaustedlab -- memory exhaustion comes here. |
`-------------------------------------------------*/
@@ -4486,9 +4936,14 @@ yyexhaustedlab:
#endif
yyreturn:
- if (yychar != YYEOF && yychar != YYEMPTY)
- yydestruct ("Cleanup: discarding lookahead",
- yytoken, &yylval);
+ if (yychar != YYEMPTY)
+ {
+ /* Make sure we have latest lookahead translation. See comments at
+ user semantic actions for why this is necessary. */
+ yytoken = YYTRANSLATE (yychar);
+ yydestruct ("Cleanup: discarding lookahead",
+ yytoken, &yylval);
+ }
/* Do not reclaim the symbols of the rule which action triggered
this YYABORT or YYACCEPT. */
YYPOPSTACK (yylen);
@@ -4512,6 +4967,8 @@ yyreturn:
}
+
+/* Line 2067 of yacc.c */
#line 1658 "../Source/WebCore/css/CSSGrammar.y"
diff --git a/src/3rdparty/webkit/Source/WebCore/generated/CSSGrammar.h b/src/3rdparty/webkit/Source/WebCore/generated/CSSGrammar.h
index 22670ba650..59225d8cf5 100644
--- a/src/3rdparty/webkit/Source/WebCore/generated/CSSGrammar.h
+++ b/src/3rdparty/webkit/Source/WebCore/generated/CSSGrammar.h
@@ -1,26 +1,23 @@
#ifndef CSSGRAMMAR_H
#define CSSGRAMMAR_H
-/* A Bison parser, made by GNU Bison 2.3. */
+/* A Bison parser, made by GNU Bison 2.5. */
-/* Skeleton interface for Bison's Yacc-like parsers in C
-
- Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
- Free Software Foundation, Inc.
-
- This program is free software; you can redistribute it and/or modify
+/* Bison interface for Yacc-like parsers in C
+
+ Copyright (C) 1984, 1989-1990, 2000-2011 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2, or (at your option)
- any later version.
-
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
-
+
You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 51 Franklin Street, Fifth Floor,
- Boston, MA 02110-1301, USA. */
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
/* As a special exception, you may create a larger work that contains
part or all of the Bison parser skeleton and distribute that work
@@ -31,10 +28,11 @@
special exception, which will cause the skeleton and the resulting
Bison output files to be licensed under the GNU General Public
License without this special exception.
-
+
This special exception was added by the Free Software Foundation in
version 2.2 of Bison. */
+
/* Tokens. */
#ifndef YYTOKENTYPE
# define YYTOKENTYPE
@@ -123,95 +121,16 @@
UNICODERANGE = 336
};
#endif
-/* Tokens. */
-#define TOKEN_EOF 0
-#define LOWEST_PREC 258
-#define UNIMPORTANT_TOK 259
-#define WHITESPACE 260
-#define SGML_CD 261
-#define INCLUDES 262
-#define DASHMATCH 263
-#define BEGINSWITH 264
-#define ENDSWITH 265
-#define CONTAINS 266
-#define STRING 267
-#define IDENT 268
-#define NTH 269
-#define HEX 270
-#define IDSEL 271
-#define IMPORT_SYM 272
-#define PAGE_SYM 273
-#define MEDIA_SYM 274
-#define FONT_FACE_SYM 275
-#define CHARSET_SYM 276
-#define NAMESPACE_SYM 277
-#define WEBKIT_RULE_SYM 278
-#define WEBKIT_DECLS_SYM 279
-#define WEBKIT_KEYFRAME_RULE_SYM 280
-#define WEBKIT_KEYFRAMES_SYM 281
-#define WEBKIT_VALUE_SYM 282
-#define WEBKIT_MEDIAQUERY_SYM 283
-#define WEBKIT_SELECTOR_SYM 284
-#define TOPLEFTCORNER_SYM 285
-#define TOPLEFT_SYM 286
-#define TOPCENTER_SYM 287
-#define TOPRIGHT_SYM 288
-#define TOPRIGHTCORNER_SYM 289
-#define BOTTOMLEFTCORNER_SYM 290
-#define BOTTOMLEFT_SYM 291
-#define BOTTOMCENTER_SYM 292
-#define BOTTOMRIGHT_SYM 293
-#define BOTTOMRIGHTCORNER_SYM 294
-#define LEFTTOP_SYM 295
-#define LEFTMIDDLE_SYM 296
-#define LEFTBOTTOM_SYM 297
-#define RIGHTTOP_SYM 298
-#define RIGHTMIDDLE_SYM 299
-#define RIGHTBOTTOM_SYM 300
-#define ATKEYWORD 301
-#define IMPORTANT_SYM 302
-#define MEDIA_ONLY 303
-#define MEDIA_NOT 304
-#define MEDIA_AND 305
-#define REMS 306
-#define QEMS 307
-#define EMS 308
-#define EXS 309
-#define PXS 310
-#define CMS 311
-#define MMS 312
-#define INS 313
-#define PTS 314
-#define PCS 315
-#define DEGS 316
-#define RADS 317
-#define GRADS 318
-#define TURNS 319
-#define MSECS 320
-#define SECS 321
-#define HERTZ 322
-#define KHERTZ 323
-#define DIMEN 324
-#define INVALIDDIMEN 325
-#define PERCENTAGE 326
-#define FLOATTOKEN 327
-#define INTEGER 328
-#define URI 329
-#define FUNCTION 330
-#define ANYFUNCTION 331
-#define NOTFUNCTION 332
-#define CALCFUNCTION 333
-#define MINFUNCTION 334
-#define MAXFUNCTION 335
-#define UNICODERANGE 336
-
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
typedef union YYSTYPE
-#line 63 "../Source/WebCore/css/CSSGrammar.y"
{
+
+/* Line 2068 of yacc.c */
+#line 63 "../Source/WebCore/css/CSSGrammar.y"
+
bool boolean;
char character;
int integer;
@@ -234,15 +153,18 @@ typedef union YYSTYPE
WebKitCSSKeyframeRule* keyframeRule;
WebKitCSSKeyframesRule* keyframesRule;
float val;
-}
-/* Line 1529 of yacc.c. */
-#line 238 "/Source/WebCore/generated/CSSGrammar.tab.h"
- YYSTYPE;
+
+
+
+/* Line 2068 of yacc.c */
+#line 159 "/Source/WebCore/generated/CSSGrammar.tab.h"
+} YYSTYPE;
+# define YYSTYPE_IS_TRIVIAL 1
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
-# define YYSTYPE_IS_TRIVIAL 1
#endif
+
#endif
diff --git a/src/3rdparty/webkit/Source/WebCore/generated/CSSPropertyNames.cpp b/src/3rdparty/webkit/Source/WebCore/generated/CSSPropertyNames.cpp
index 1294a3409b..945ba7df48 100644
--- a/src/3rdparty/webkit/Source/WebCore/generated/CSSPropertyNames.cpp
+++ b/src/3rdparty/webkit/Source/WebCore/generated/CSSPropertyNames.cpp
@@ -1,4 +1,4 @@
-/* C++ code produced by gperf version 3.0.3 */
+/* C++ code produced by gperf version 3.0.4 */
/* Command-line: gperf --key-positions='*' -D -n -s 2 CSSPropertyNames.gperf */
#if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
diff --git a/src/3rdparty/webkit/Source/WebCore/generated/CSSValueKeywords.cpp b/src/3rdparty/webkit/Source/WebCore/generated/CSSValueKeywords.cpp
index 081d3239b7..92c75411c8 100644
--- a/src/3rdparty/webkit/Source/WebCore/generated/CSSValueKeywords.cpp
+++ b/src/3rdparty/webkit/Source/WebCore/generated/CSSValueKeywords.cpp
@@ -1,4 +1,4 @@
-/* C++ code produced by gperf version 3.0.3 */
+/* C++ code produced by gperf version 3.0.4 */
/* Command-line: gperf --key-positions='*' -D -n -s 2 CSSValueKeywords.gperf */
#if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
diff --git a/src/3rdparty/webkit/Source/WebCore/generated/ColorData.cpp b/src/3rdparty/webkit/Source/WebCore/generated/ColorData.cpp
index 3b09b89e34..da31ef88c7 100644
--- a/src/3rdparty/webkit/Source/WebCore/generated/ColorData.cpp
+++ b/src/3rdparty/webkit/Source/WebCore/generated/ColorData.cpp
@@ -1,4 +1,4 @@
-/* C++ code produced by gperf version 3.0.3 */
+/* C++ code produced by gperf version 3.0.4 */
/* Command-line: gperf --key-positions='*' -D -s 2 /Source/WebCore/platform/ColorData.gperf */
#if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
diff --git a/src/3rdparty/webkit/Source/WebCore/generated/DocTypeStrings.cpp b/src/3rdparty/webkit/Source/WebCore/generated/DocTypeStrings.cpp
index e0a2b4fcc3..566700900e 100644
--- a/src/3rdparty/webkit/Source/WebCore/generated/DocTypeStrings.cpp
+++ b/src/3rdparty/webkit/Source/WebCore/generated/DocTypeStrings.cpp
@@ -1,4 +1,4 @@
-/* C++ code produced by gperf version 3.0.3 */
+/* C++ code produced by gperf version 3.0.4 */
/* Command-line: gperf --key-positions='*' -s 2 /Source/WebCore/html/DocTypeStrings.gperf */
#if !((' ' == 32) && ('!' == 33) && ('"' == 34) && ('#' == 35) \
diff --git a/src/3rdparty/webkit/Source/WebCore/generated/JSWebGLRenderingContext.cpp b/src/3rdparty/webkit/Source/WebCore/generated/JSWebGLRenderingContext.cpp
index e2a03c21e8..6f38364fe3 100644
--- a/src/3rdparty/webkit/Source/WebCore/generated/JSWebGLRenderingContext.cpp
+++ b/src/3rdparty/webkit/Source/WebCore/generated/JSWebGLRenderingContext.cpp
@@ -30,7 +30,6 @@
#include "JSDOMBinding.h"
#include "JSHTMLCanvasElement.h"
#include "JSHTMLImageElement.h"
-#include "JSHTMLVideoElement.h"
#include "JSImageData.h"
#include "JSWebGLActiveInfo.h"
#include "JSWebGLBuffer.h"
@@ -2986,40 +2985,6 @@ static EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionTexI
return JSValue::encode(jsUndefined());
}
-static EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionTexImage2D5(ExecState* exec)
-{
- JSValue thisValue = exec->hostThisValue();
- if (!thisValue.inherits(&JSWebGLRenderingContext::s_info))
- return throwVMTypeError(exec);
- JSWebGLRenderingContext* castedThis = static_cast<JSWebGLRenderingContext*>(asObject(thisValue));
- WebGLRenderingContext* imp = static_cast<WebGLRenderingContext*>(castedThis->impl());
- ExceptionCode ec = 0;
- unsigned target(exec->argument(0).toUInt32(exec));
- if (exec->hadException())
- return JSValue::encode(jsUndefined());
- int level(exec->argument(1).toInt32(exec));
- if (exec->hadException())
- return JSValue::encode(jsUndefined());
- unsigned internalformat(exec->argument(2).toUInt32(exec));
- if (exec->hadException())
- return JSValue::encode(jsUndefined());
- unsigned format(exec->argument(3).toUInt32(exec));
- if (exec->hadException())
- return JSValue::encode(jsUndefined());
- unsigned type(exec->argument(4).toUInt32(exec));
- if (exec->hadException())
- return JSValue::encode(jsUndefined());
- if (exec->argumentCount() > 5 && !exec->argument(5).isUndefinedOrNull() && !exec->argument(5).inherits(&JSHTMLVideoElement::s_info))
- return throwVMTypeError(exec);
- HTMLVideoElement* video(toHTMLVideoElement(exec->argument(5)));
- if (exec->hadException())
- return JSValue::encode(jsUndefined());
-
- imp->texImage2D(target, level, internalformat, format, type, video, ec);
- setDOMException(exec, ec);
- return JSValue::encode(jsUndefined());
-}
-
EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionTexImage2D(ExecState* exec)
{
if ((exec->argumentCount() == 9 && (exec->argument(8).isNull() || (exec->argument(8).isObject() && asObject(exec->argument(8))->inherits(&JSArrayBufferView::s_info)))))
@@ -3030,8 +2995,6 @@ EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionTexImage2D(
return jsWebGLRenderingContextPrototypeFunctionTexImage2D3(exec);
if ((exec->argumentCount() == 6 && (exec->argument(5).isNull() || (exec->argument(5).isObject() && asObject(exec->argument(5))->inherits(&JSHTMLCanvasElement::s_info)))))
return jsWebGLRenderingContextPrototypeFunctionTexImage2D4(exec);
- if ((exec->argumentCount() == 6 && (exec->argument(5).isNull() || (exec->argument(5).isObject() && asObject(exec->argument(5))->inherits(&JSHTMLVideoElement::s_info)))))
- return jsWebGLRenderingContextPrototypeFunctionTexImage2D5(exec);
return throwVMTypeError(exec);
}
@@ -3189,43 +3152,6 @@ static EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionTexS
return JSValue::encode(jsUndefined());
}
-static EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionTexSubImage2D5(ExecState* exec)
-{
- JSValue thisValue = exec->hostThisValue();
- if (!thisValue.inherits(&JSWebGLRenderingContext::s_info))
- return throwVMTypeError(exec);
- JSWebGLRenderingContext* castedThis = static_cast<JSWebGLRenderingContext*>(asObject(thisValue));
- WebGLRenderingContext* imp = static_cast<WebGLRenderingContext*>(castedThis->impl());
- ExceptionCode ec = 0;
- unsigned target(exec->argument(0).toUInt32(exec));
- if (exec->hadException())
- return JSValue::encode(jsUndefined());
- int level(exec->argument(1).toInt32(exec));
- if (exec->hadException())
- return JSValue::encode(jsUndefined());
- int xoffset(exec->argument(2).toInt32(exec));
- if (exec->hadException())
- return JSValue::encode(jsUndefined());
- int yoffset(exec->argument(3).toInt32(exec));
- if (exec->hadException())
- return JSValue::encode(jsUndefined());
- unsigned format(exec->argument(4).toUInt32(exec));
- if (exec->hadException())
- return JSValue::encode(jsUndefined());
- unsigned type(exec->argument(5).toUInt32(exec));
- if (exec->hadException())
- return JSValue::encode(jsUndefined());
- if (exec->argumentCount() > 6 && !exec->argument(6).isUndefinedOrNull() && !exec->argument(6).inherits(&JSHTMLVideoElement::s_info))
- return throwVMTypeError(exec);
- HTMLVideoElement* video(toHTMLVideoElement(exec->argument(6)));
- if (exec->hadException())
- return JSValue::encode(jsUndefined());
-
- imp->texSubImage2D(target, level, xoffset, yoffset, format, type, video, ec);
- setDOMException(exec, ec);
- return JSValue::encode(jsUndefined());
-}
-
EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionTexSubImage2D(ExecState* exec)
{
if ((exec->argumentCount() == 9 && (exec->argument(8).isNull() || (exec->argument(8).isObject() && asObject(exec->argument(8))->inherits(&JSArrayBufferView::s_info)))))
@@ -3236,8 +3162,6 @@ EncodedJSValue JSC_HOST_CALL jsWebGLRenderingContextPrototypeFunctionTexSubImage
return jsWebGLRenderingContextPrototypeFunctionTexSubImage2D3(exec);
if ((exec->argumentCount() == 7 && (exec->argument(6).isNull() || (exec->argument(6).isObject() && asObject(exec->argument(6))->inherits(&JSHTMLCanvasElement::s_info)))))
return jsWebGLRenderingContextPrototypeFunctionTexSubImage2D4(exec);
- if ((exec->argumentCount() == 7 && (exec->argument(6).isNull() || (exec->argument(6).isObject() && asObject(exec->argument(6))->inherits(&JSHTMLVideoElement::s_info)))))
- return jsWebGLRenderingContextPrototypeFunctionTexSubImage2D5(exec);
return throwVMTypeError(exec);
}
diff --git a/src/3rdparty/webkit/Source/WebCore/generated/XPathGrammar.cpp b/src/3rdparty/webkit/Source/WebCore/generated/XPathGrammar.cpp
index 4e8b9c4e5a..dc82e12c6c 100644
--- a/src/3rdparty/webkit/Source/WebCore/generated/XPathGrammar.cpp
+++ b/src/3rdparty/webkit/Source/WebCore/generated/XPathGrammar.cpp
@@ -1,24 +1,21 @@
-/* A Bison parser, made by GNU Bison 2.3. */
+/* A Bison parser, made by GNU Bison 2.5. */
-/* Skeleton implementation for Bison's Yacc-like parsers in C
-
- Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
- Free Software Foundation, Inc.
-
- This program is free software; you can redistribute it and/or modify
+/* Bison implementation for Yacc-like parsers in C
+
+ Copyright (C) 1984, 1989-1990, 2000-2011 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2, or (at your option)
- any later version.
-
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
-
+
You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 51 Franklin Street, Fifth Floor,
- Boston, MA 02110-1301, USA. */
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
/* As a special exception, you may create a larger work that contains
part or all of the Bison parser skeleton and distribute that work
@@ -29,7 +26,7 @@
special exception, which will cause the skeleton and the resulting
Bison output files to be licensed under the GNU General Public
License without this special exception.
-
+
This special exception was added by the Free Software Foundation in
version 2.2 of Bison. */
@@ -47,7 +44,7 @@
#define YYBISON 1
/* Bison version. */
-#define YYBISON_VERSION "2.3"
+#define YYBISON_VERSION "2.5"
/* Skeleton name. */
#define YYSKELETON_NAME "yacc.c"
@@ -55,69 +52,28 @@
/* Pure parsers. */
#define YYPURE 1
+/* Push parsers. */
+#define YYPUSH 0
+
+/* Pull parsers. */
+#define YYPULL 1
+
/* Using locations. */
#define YYLSP_NEEDED 0
/* Substitute the variable and function names. */
-#define yyparse xpathyyparse
-#define yylex xpathyylex
-#define yyerror xpathyyerror
-#define yylval xpathyylval
-#define yychar xpathyychar
-#define yydebug xpathyydebug
-#define yynerrs xpathyynerrs
-
-
-/* Tokens. */
-#ifndef YYTOKENTYPE
-# define YYTOKENTYPE
- /* Put the tokens into the symbol table, so that GDB and other debuggers
- know about them. */
- enum yytokentype {
- MULOP = 258,
- RELOP = 259,
- EQOP = 260,
- MINUS = 261,
- PLUS = 262,
- AND = 263,
- OR = 264,
- AXISNAME = 265,
- NODETYPE = 266,
- PI = 267,
- FUNCTIONNAME = 268,
- LITERAL = 269,
- VARIABLEREFERENCE = 270,
- NUMBER = 271,
- DOTDOT = 272,
- SLASHSLASH = 273,
- NAMETEST = 274,
- XPATH_ERROR = 275
- };
-#endif
-/* Tokens. */
-#define MULOP 258
-#define RELOP 259
-#define EQOP 260
-#define MINUS 261
-#define PLUS 262
-#define AND 263
-#define OR 264
-#define AXISNAME 265
-#define NODETYPE 266
-#define PI 267
-#define FUNCTIONNAME 268
-#define LITERAL 269
-#define VARIABLEREFERENCE 270
-#define NUMBER 271
-#define DOTDOT 272
-#define SLASHSLASH 273
-#define NAMETEST 274
-#define XPATH_ERROR 275
-
-
+#define yyparse xpathyyparse
+#define yylex xpathyylex
+#define yyerror xpathyyerror
+#define yylval xpathyylval
+#define yychar xpathyychar
+#define yydebug xpathyydebug
+#define yynerrs xpathyynerrs
/* Copy the first part of user declarations. */
+
+/* Line 268 of yacc.c */
#line 28 "../Source/WebCore/xml/XPathGrammar.y"
@@ -148,6 +104,9 @@ using namespace XPath;
+/* Line 268 of yacc.c */
+#line 109 "/Source/WebCore/generated/XPathGrammar.tab.c"
+
/* Enabling traces. */
#ifndef YYDEBUG
# define YYDEBUG 0
@@ -166,10 +125,43 @@ using namespace XPath;
# define YYTOKEN_TABLE 0
#endif
+
+/* Tokens. */
+#ifndef YYTOKENTYPE
+# define YYTOKENTYPE
+ /* Put the tokens into the symbol table, so that GDB and other debuggers
+ know about them. */
+ enum yytokentype {
+ MULOP = 258,
+ RELOP = 259,
+ EQOP = 260,
+ MINUS = 261,
+ PLUS = 262,
+ AND = 263,
+ OR = 264,
+ AXISNAME = 265,
+ NODETYPE = 266,
+ PI = 267,
+ FUNCTIONNAME = 268,
+ LITERAL = 269,
+ VARIABLEREFERENCE = 270,
+ NUMBER = 271,
+ DOTDOT = 272,
+ SLASHSLASH = 273,
+ NAMETEST = 274,
+ XPATH_ERROR = 275
+ };
+#endif
+
+
+
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
typedef union YYSTYPE
-#line 60 "../Source/WebCore/xml/XPathGrammar.y"
{
+
+/* Line 293 of yacc.c */
+#line 60 "../Source/WebCore/xml/XPathGrammar.y"
+
Step::Axis axis;
Step::NodeTest* nodeTest;
NumericOp::Opcode numop;
@@ -180,18 +172,21 @@ typedef union YYSTYPE
Vector<Expression*>* argList;
Step* step;
LocationPath* locationPath;
-}
-/* Line 193 of yacc.c. */
-#line 186 "/Source/WebCore/generated/XPathGrammar.tab.c"
- YYSTYPE;
+
+
+
+/* Line 293 of yacc.c */
+#line 180 "/Source/WebCore/generated/XPathGrammar.tab.c"
+} YYSTYPE;
+# define YYSTYPE_IS_TRIVIAL 1
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
-# define YYSTYPE_IS_TRIVIAL 1
#endif
-
/* Copy the second part of user declarations. */
+
+/* Line 343 of yacc.c */
#line 73 "../Source/WebCore/xml/XPathGrammar.y"
@@ -200,8 +195,8 @@ static void xpathyyerror(const char*) { }
-/* Line 216 of yacc.c. */
-#line 205 "/Source/WebCore/generated/XPathGrammar.tab.c"
+/* Line 343 of yacc.c */
+#line 200 "/Source/WebCore/generated/XPathGrammar.tab.c"
#ifdef short
# undef short
@@ -276,14 +271,14 @@ typedef short int yytype_int16;
#if (defined __STDC__ || defined __C99__FUNC__ \
|| defined __cplusplus || defined _MSC_VER)
static int
-YYID (int i)
+YYID (int yyi)
#else
static int
-YYID (i)
- int i;
+YYID (yyi)
+ int yyi;
#endif
{
- return i;
+ return yyi;
}
#endif
@@ -304,11 +299,11 @@ YYID (i)
# define alloca _alloca
# else
# define YYSTACK_ALLOC alloca
-# if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
+# if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
|| defined __cplusplus || defined _MSC_VER)
# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
-# ifndef _STDLIB_H
-# define _STDLIB_H 1
+# ifndef EXIT_SUCCESS
+# define EXIT_SUCCESS 0
# endif
# endif
# endif
@@ -331,24 +326,24 @@ YYID (i)
# ifndef YYSTACK_ALLOC_MAXIMUM
# define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
# endif
-# if (defined __cplusplus && ! defined _STDLIB_H \
+# if (defined __cplusplus && ! defined EXIT_SUCCESS \
&& ! ((defined YYMALLOC || defined malloc) \
&& (defined YYFREE || defined free)))
# include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
-# ifndef _STDLIB_H
-# define _STDLIB_H 1
+# ifndef EXIT_SUCCESS
+# define EXIT_SUCCESS 0
# endif
# endif
# ifndef YYMALLOC
# define YYMALLOC malloc
-# if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
+# if ! defined malloc && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
|| defined __cplusplus || defined _MSC_VER)
void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
# endif
# endif
# ifndef YYFREE
# define YYFREE free
-# if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
+# if ! defined free && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
|| defined __cplusplus || defined _MSC_VER)
void free (void *); /* INFRINGES ON USER NAME SPACE */
# endif
@@ -364,9 +359,9 @@ void free (void *); /* INFRINGES ON USER NAME SPACE */
/* A type that is properly aligned for any stack member. */
union yyalloc
{
- yytype_int16 yyss;
- YYSTYPE yyvs;
- };
+ yytype_int16 yyss_alloc;
+ YYSTYPE yyvs_alloc;
+};
/* The size of the maximum gap between one aligned stack and the next. */
# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
@@ -377,6 +372,27 @@ union yyalloc
((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
+ YYSTACK_GAP_MAXIMUM)
+# define YYCOPY_NEEDED 1
+
+/* Relocate STACK from its old location to the new one. The
+ local variables YYSIZE and YYSTACKSIZE give the old and new number of
+ elements in the stack, and YYPTR gives the new location of the
+ stack. Advance YYPTR to a properly aligned location for the next
+ stack. */
+# define YYSTACK_RELOCATE(Stack_alloc, Stack) \
+ do \
+ { \
+ YYSIZE_T yynewbytes; \
+ YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
+ Stack = &yyptr->Stack_alloc; \
+ yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
+ yyptr += yynewbytes / sizeof (*yyptr); \
+ } \
+ while (YYID (0))
+
+#endif
+
+#if defined YYCOPY_NEEDED && YYCOPY_NEEDED
/* Copy COUNT objects from FROM to TO. The source and destination do
not overlap. */
# ifndef YYCOPY
@@ -394,24 +410,7 @@ union yyalloc
while (YYID (0))
# endif
# endif
-
-/* Relocate STACK from its old location to the new one. The
- local variables YYSIZE and YYSTACKSIZE give the old and new number of
- elements in the stack, and YYPTR gives the new location of the
- stack. Advance YYPTR to a properly aligned location for the next
- stack. */
-# define YYSTACK_RELOCATE(Stack) \
- do \
- { \
- YYSIZE_T yynewbytes; \
- YYCOPY (&yyptr->Stack, Stack, yysize); \
- Stack = &yyptr->Stack; \
- yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
- yyptr += yynewbytes / sizeof (*yyptr); \
- } \
- while (YYID (0))
-
-#endif
+#endif /* !YYCOPY_NEEDED */
/* YYFINAL -- State number of the termination state. */
#define YYFINAL 47
@@ -571,8 +570,8 @@ static const yytype_uint8 yyr2[] =
1, 2
};
-/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
- STATE-NUM when YYTABLE doesn't specify something else to do. Zero
+/* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM.
+ Performed when YYTABLE doesn't specify something else to do. Zero
means the default is an error. */
static const yytype_uint8 yydefact[] =
{
@@ -623,8 +622,7 @@ static const yytype_int8 yypgoto[] =
/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If
positive, shift that token. If negative, reduce the rule which
- number is the opposite. If zero, do what YYDEFACT says.
- If YYTABLE_NINF, syntax error. */
+ number is the opposite. If YYTABLE_NINF, syntax error. */
#define YYTABLE_NINF -1
static const yytype_uint8 yytable[] =
{
@@ -643,6 +641,12 @@ static const yytype_uint8 yytable[] =
15
};
+#define yypact_value_is_default(yystate) \
+ ((yystate) == (-44))
+
+#define yytable_value_is_error(yytable_value) \
+ YYID (0)
+
static const yytype_int8 yycheck[] =
{
1, 12, 0, 19, 22, 48, 49, 43, 10, 11,
@@ -688,9 +692,18 @@ static const yytype_uint8 yystos[] =
/* Like YYERROR except do call yyerror. This remains here temporarily
to ease the transition to the new meaning of YYERROR, for GCC.
- Once GCC version 2 has supplanted version 1, this can go. */
+ Once GCC version 2 has supplanted version 1, this can go. However,
+ YYFAIL appears to be in use. Nevertheless, it is formally deprecated
+ in Bison 2.4.2's NEWS entry, where a plan to phase it out is
+ discussed. */
#define YYFAIL goto yyerrlab
+#if defined YYFAIL
+ /* This is here to suppress warnings from the GCC cpp's
+ -Wunused-macros. Normally we don't worry about that warning, but
+ some users do, and we want to make it easy for users to remove
+ YYFAIL uses, which will produce warnings from Bison 2.5. */
+#endif
#define YYRECOVERING() (!!yyerrstatus)
@@ -700,7 +713,6 @@ do \
{ \
yychar = (Token); \
yylval = (Value); \
- yytoken = YYTRANSLATE (yychar); \
YYPOPSTACK (1); \
goto yybackup; \
} \
@@ -742,19 +754,10 @@ while (YYID (0))
#endif
-/* YY_LOCATION_PRINT -- Print the location on the stream.
- This macro was not mandated originally: define only if we know
- we won't break user code: when these are the locations we know. */
+/* This macro is provided for backward compatibility. */
#ifndef YY_LOCATION_PRINT
-# if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
-# define YY_LOCATION_PRINT(File, Loc) \
- fprintf (File, "%d.%d-%d.%d", \
- (Loc).first_line, (Loc).first_column, \
- (Loc).last_line, (Loc).last_column)
-# else
-# define YY_LOCATION_PRINT(File, Loc) ((void) 0)
-# endif
+# define YY_LOCATION_PRINT(File, Loc) ((void) 0)
#endif
@@ -858,17 +861,20 @@ yy_symbol_print (yyoutput, yytype, yyvaluep)
#if (defined __STDC__ || defined __C99__FUNC__ \
|| defined __cplusplus || defined _MSC_VER)
static void
-yy_stack_print (yytype_int16 *bottom, yytype_int16 *top)
+yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
#else
static void
-yy_stack_print (bottom, top)
- yytype_int16 *bottom;
- yytype_int16 *top;
+yy_stack_print (yybottom, yytop)
+ yytype_int16 *yybottom;
+ yytype_int16 *yytop;
#endif
{
YYFPRINTF (stderr, "Stack now");
- for (; bottom <= top; ++bottom)
- YYFPRINTF (stderr, " %d", *bottom);
+ for (; yybottom <= yytop; yybottom++)
+ {
+ int yybot = *yybottom;
+ YYFPRINTF (stderr, " %d", yybot);
+ }
YYFPRINTF (stderr, "\n");
}
@@ -902,11 +908,11 @@ yy_reduce_print (yyvsp, yyrule)
/* The symbols being reduced. */
for (yyi = 0; yyi < yynrhs; yyi++)
{
- fprintf (stderr, " $%d = ", yyi + 1);
+ YYFPRINTF (stderr, " $%d = ", yyi + 1);
yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
&(yyvsp[(yyi + 1) - (yynrhs)])
);
- fprintf (stderr, "\n");
+ YYFPRINTF (stderr, "\n");
}
}
@@ -943,7 +949,6 @@ int yydebug;
# define YYMAXDEPTH 10000
#endif
-
#if YYERROR_VERBOSE
@@ -1046,115 +1051,142 @@ yytnamerr (char *yyres, const char *yystr)
}
# endif
-/* Copy into YYRESULT an error message about the unexpected token
- YYCHAR while in state YYSTATE. Return the number of bytes copied,
- including the terminating null byte. If YYRESULT is null, do not
- copy anything; just return the number of bytes that would be
- copied. As a special case, return 0 if an ordinary "syntax error"
- message will do. Return YYSIZE_MAXIMUM if overflow occurs during
- size calculation. */
-static YYSIZE_T
-yysyntax_error (char *yyresult, int yystate, int yychar)
-{
- int yyn = yypact[yystate];
+/* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message
+ about the unexpected token YYTOKEN for the state stack whose top is
+ YYSSP.
- if (! (YYPACT_NINF < yyn && yyn <= YYLAST))
- return 0;
- else
+ Return 0 if *YYMSG was successfully written. Return 1 if *YYMSG is
+ not large enough to hold the message. In that case, also set
+ *YYMSG_ALLOC to the required number of bytes. Return 2 if the
+ required number of bytes is too large to store. */
+static int
+yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
+ yytype_int16 *yyssp, int yytoken)
+{
+ YYSIZE_T yysize0 = yytnamerr (0, yytname[yytoken]);
+ YYSIZE_T yysize = yysize0;
+ YYSIZE_T yysize1;
+ enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
+ /* Internationalized format string. */
+ const char *yyformat = 0;
+ /* Arguments of yyformat. */
+ char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
+ /* Number of reported tokens (one for the "unexpected", one per
+ "expected"). */
+ int yycount = 0;
+
+ /* There are many possibilities here to consider:
+ - Assume YYFAIL is not used. It's too flawed to consider. See
+ <http://lists.gnu.org/archive/html/bison-patches/2009-12/msg00024.html>
+ for details. YYERROR is fine as it does not invoke this
+ function.
+ - If this state is a consistent state with a default action, then
+ the only way this function was invoked is if the default action
+ is an error action. In that case, don't check for expected
+ tokens because there are none.
+ - The only way there can be no lookahead present (in yychar) is if
+ this state is a consistent state with a default action. Thus,
+ detecting the absence of a lookahead is sufficient to determine
+ that there is no unexpected or expected token to report. In that
+ case, just report a simple "syntax error".
+ - Don't assume there isn't a lookahead just because this state is a
+ consistent state with a default action. There might have been a
+ previous inconsistent state, consistent state with a non-default
+ action, or user semantic action that manipulated yychar.
+ - Of course, the expected token list depends on states to have
+ correct lookahead information, and it depends on the parser not
+ to perform extra reductions after fetching a lookahead from the
+ scanner and before detecting a syntax error. Thus, state merging
+ (from LALR or IELR) and default reductions corrupt the expected
+ token list. However, the list is correct for canonical LR with
+ one exception: it will still contain any token that will not be
+ accepted due to an error action in a later state.
+ */
+ if (yytoken != YYEMPTY)
{
- int yytype = YYTRANSLATE (yychar);
- YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
- YYSIZE_T yysize = yysize0;
- YYSIZE_T yysize1;
- int yysize_overflow = 0;
- enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
- char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
- int yyx;
-
-# if 0
- /* This is so xgettext sees the translatable formats that are
- constructed on the fly. */
- YY_("syntax error, unexpected %s");
- YY_("syntax error, unexpected %s, expecting %s");
- YY_("syntax error, unexpected %s, expecting %s or %s");
- YY_("syntax error, unexpected %s, expecting %s or %s or %s");
- YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
-# endif
- char *yyfmt;
- char const *yyf;
- static char const yyunexpected[] = "syntax error, unexpected %s";
- static char const yyexpecting[] = ", expecting %s";
- static char const yyor[] = " or %s";
- char yyformat[sizeof yyunexpected
- + sizeof yyexpecting - 1
- + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
- * (sizeof yyor - 1))];
- char const *yyprefix = yyexpecting;
-
- /* Start YYX at -YYN if negative to avoid negative indexes in
- YYCHECK. */
- int yyxbegin = yyn < 0 ? -yyn : 0;
-
- /* Stay within bounds of both yycheck and yytname. */
- int yychecklim = YYLAST - yyn + 1;
- int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
- int yycount = 1;
-
- yyarg[0] = yytname[yytype];
- yyfmt = yystpcpy (yyformat, yyunexpected);
-
- for (yyx = yyxbegin; yyx < yyxend; ++yyx)
- if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
- {
- if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
- {
- yycount = 1;
- yysize = yysize0;
- yyformat[sizeof yyunexpected - 1] = '\0';
- break;
- }
- yyarg[yycount++] = yytname[yyx];
- yysize1 = yysize + yytnamerr (0, yytname[yyx]);
- yysize_overflow |= (yysize1 < yysize);
- yysize = yysize1;
- yyfmt = yystpcpy (yyfmt, yyprefix);
- yyprefix = yyor;
- }
+ int yyn = yypact[*yyssp];
+ yyarg[yycount++] = yytname[yytoken];
+ if (!yypact_value_is_default (yyn))
+ {
+ /* Start YYX at -YYN if negative to avoid negative indexes in
+ YYCHECK. In other words, skip the first -YYN actions for
+ this state because they are default actions. */
+ int yyxbegin = yyn < 0 ? -yyn : 0;
+ /* Stay within bounds of both yycheck and yytname. */
+ int yychecklim = YYLAST - yyn + 1;
+ int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
+ int yyx;
+
+ for (yyx = yyxbegin; yyx < yyxend; ++yyx)
+ if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR
+ && !yytable_value_is_error (yytable[yyx + yyn]))
+ {
+ if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
+ {
+ yycount = 1;
+ yysize = yysize0;
+ break;
+ }
+ yyarg[yycount++] = yytname[yyx];
+ yysize1 = yysize + yytnamerr (0, yytname[yyx]);
+ if (! (yysize <= yysize1
+ && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
+ return 2;
+ yysize = yysize1;
+ }
+ }
+ }
- yyf = YY_(yyformat);
- yysize1 = yysize + yystrlen (yyf);
- yysize_overflow |= (yysize1 < yysize);
- yysize = yysize1;
+ switch (yycount)
+ {
+# define YYCASE_(N, S) \
+ case N: \
+ yyformat = S; \
+ break
+ YYCASE_(0, YY_("syntax error"));
+ YYCASE_(1, YY_("syntax error, unexpected %s"));
+ YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
+ YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));
+ YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
+ YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
+# undef YYCASE_
+ }
- if (yysize_overflow)
- return YYSIZE_MAXIMUM;
+ yysize1 = yysize + yystrlen (yyformat);
+ if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
+ return 2;
+ yysize = yysize1;
- if (yyresult)
- {
- /* Avoid sprintf, as that infringes on the user's name space.
- Don't have undefined behavior even if the translation
- produced a string with the wrong number of "%s"s. */
- char *yyp = yyresult;
- int yyi = 0;
- while ((*yyp = *yyf) != '\0')
- {
- if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)
- {
- yyp += yytnamerr (yyp, yyarg[yyi++]);
- yyf += 2;
- }
- else
- {
- yyp++;
- yyf++;
- }
- }
- }
- return yysize;
+ if (*yymsg_alloc < yysize)
+ {
+ *yymsg_alloc = 2 * yysize;
+ if (! (yysize <= *yymsg_alloc
+ && *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM))
+ *yymsg_alloc = YYSTACK_ALLOC_MAXIMUM;
+ return 1;
}
+
+ /* Avoid sprintf, as that infringes on the user's name space.
+ Don't have undefined behavior even if the translation
+ produced a string with the wrong number of "%s"s. */
+ {
+ char *yyp = *yymsg;
+ int yyi = 0;
+ while ((*yyp = *yyformat) != '\0')
+ if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount)
+ {
+ yyp += yytnamerr (yyp, yyarg[yyi++]);
+ yyformat += 2;
+ }
+ else
+ {
+ yyp++;
+ yyformat++;
+ }
+ }
+ return 0;
}
#endif /* YYERROR_VERBOSE */
-
/*-----------------------------------------------.
| Release the memory associated to this symbol. |
@@ -1186,10 +1218,9 @@ yydestruct (yymsg, yytype, yyvaluep)
break;
}
}
-
-/* Prevent warnings from -Wmissing-prototypes. */
+/* Prevent warnings from -Wmissing-prototypes. */
#ifdef YYPARSE_PARAM
#if defined __STDC__ || defined __cplusplus
int yyparse (void *YYPARSE_PARAM);
@@ -1205,10 +1236,6 @@ int yyparse ();
#endif /* ! YYPARSE_PARAM */
-
-
-
-
/*----------.
| yyparse. |
`----------*/
@@ -1235,74 +1262,75 @@ yyparse ()
#endif
#endif
{
- /* The look-ahead symbol. */
+/* The lookahead symbol. */
int yychar;
-/* The semantic value of the look-ahead symbol. */
+/* The semantic value of the lookahead symbol. */
YYSTYPE yylval;
-/* Number of syntax errors so far. */
-int yynerrs;
-
- int yystate;
- int yyn;
- int yyresult;
- /* Number of tokens to shift before error messages enabled. */
- int yyerrstatus;
- /* Look-ahead token as an internal (translated) token number. */
- int yytoken = 0;
-#if YYERROR_VERBOSE
- /* Buffer for error messages, and its allocated size. */
- char yymsgbuf[128];
- char *yymsg = yymsgbuf;
- YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
-#endif
-
- /* Three stacks and their tools:
- `yyss': related to states,
- `yyvs': related to semantic values,
- `yyls': related to locations.
+ /* Number of syntax errors so far. */
+ int yynerrs;
- Refer to the stacks thru separate pointers, to allow yyoverflow
- to reallocate them elsewhere. */
+ int yystate;
+ /* Number of tokens to shift before error messages enabled. */
+ int yyerrstatus;
- /* The state stack. */
- yytype_int16 yyssa[YYINITDEPTH];
- yytype_int16 *yyss = yyssa;
- yytype_int16 *yyssp;
+ /* The stacks and their tools:
+ `yyss': related to states.
+ `yyvs': related to semantic values.
- /* The semantic value stack. */
- YYSTYPE yyvsa[YYINITDEPTH];
- YYSTYPE *yyvs = yyvsa;
- YYSTYPE *yyvsp;
+ Refer to the stacks thru separate pointers, to allow yyoverflow
+ to reallocate them elsewhere. */
+ /* The state stack. */
+ yytype_int16 yyssa[YYINITDEPTH];
+ yytype_int16 *yyss;
+ yytype_int16 *yyssp;
+ /* The semantic value stack. */
+ YYSTYPE yyvsa[YYINITDEPTH];
+ YYSTYPE *yyvs;
+ YYSTYPE *yyvsp;
-#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
-
- YYSIZE_T yystacksize = YYINITDEPTH;
+ YYSIZE_T yystacksize;
+ int yyn;
+ int yyresult;
+ /* Lookahead token as an internal (translated) token number. */
+ int yytoken;
/* The variables used to return semantic value and location from the
action routines. */
YYSTYPE yyval;
+#if YYERROR_VERBOSE
+ /* Buffer for error messages, and its allocated size. */
+ char yymsgbuf[128];
+ char *yymsg = yymsgbuf;
+ YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
+#endif
+
+#define YYPOPSTACK(N) (yyvsp -= (N), yyssp -= (N))
/* The number of symbols on the RHS of the reduced rule.
Keep to zero when no symbol should be popped. */
int yylen = 0;
+ yytoken = 0;
+ yyss = yyssa;
+ yyvs = yyvsa;
+ yystacksize = YYINITDEPTH;
+
YYDPRINTF ((stderr, "Starting parse\n"));
yystate = 0;
yyerrstatus = 0;
yynerrs = 0;
- yychar = YYEMPTY; /* Cause a token to be read. */
+ yychar = YYEMPTY; /* Cause a token to be read. */
/* Initialize stack pointers.
Waste one element of value and location stack
so that they stay on the same level as the state stack.
The wasted elements are never initialized. */
-
yyssp = yyss;
yyvsp = yyvs;
@@ -1332,7 +1360,6 @@ int yynerrs;
YYSTYPE *yyvs1 = yyvs;
yytype_int16 *yyss1 = yyss;
-
/* Each stack pointer address is followed by the size of the
data in use in that stack, in bytes. This used to be a
conditional around just the two extra args, but that might
@@ -1340,7 +1367,6 @@ int yynerrs;
yyoverflow (YY_("memory exhausted"),
&yyss1, yysize * sizeof (*yyssp),
&yyvs1, yysize * sizeof (*yyvsp),
-
&yystacksize);
yyss = yyss1;
@@ -1363,9 +1389,8 @@ int yynerrs;
(union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
if (! yyptr)
goto yyexhaustedlab;
- YYSTACK_RELOCATE (yyss);
- YYSTACK_RELOCATE (yyvs);
-
+ YYSTACK_RELOCATE (yyss_alloc, yyss);
+ YYSTACK_RELOCATE (yyvs_alloc, yyvs);
# undef YYSTACK_RELOCATE
if (yyss1 != yyssa)
YYSTACK_FREE (yyss1);
@@ -1376,7 +1401,6 @@ int yynerrs;
yyssp = yyss + yysize - 1;
yyvsp = yyvs + yysize - 1;
-
YYDPRINTF ((stderr, "Stack size increased to %lu\n",
(unsigned long int) yystacksize));
@@ -1386,6 +1410,9 @@ int yynerrs;
YYDPRINTF ((stderr, "Entering state %d\n", yystate));
+ if (yystate == YYFINAL)
+ YYACCEPT;
+
goto yybackup;
/*-----------.
@@ -1394,16 +1421,16 @@ int yynerrs;
yybackup:
/* Do appropriate processing given the current state. Read a
- look-ahead token if we need one and don't already have one. */
+ lookahead token if we need one and don't already have one. */
- /* First try to decide what to do without reference to look-ahead token. */
+ /* First try to decide what to do without reference to lookahead token. */
yyn = yypact[yystate];
- if (yyn == YYPACT_NINF)
+ if (yypact_value_is_default (yyn))
goto yydefault;
- /* Not known => get a look-ahead token if don't already have one. */
+ /* Not known => get a lookahead token if don't already have one. */
- /* YYCHAR is either YYEMPTY or YYEOF or a valid look-ahead symbol. */
+ /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */
if (yychar == YYEMPTY)
{
YYDPRINTF ((stderr, "Reading a token: "));
@@ -1429,26 +1456,22 @@ yybackup:
yyn = yytable[yyn];
if (yyn <= 0)
{
- if (yyn == 0 || yyn == YYTABLE_NINF)
- goto yyerrlab;
+ if (yytable_value_is_error (yyn))
+ goto yyerrlab;
yyn = -yyn;
goto yyreduce;
}
- if (yyn == YYFINAL)
- YYACCEPT;
-
/* Count tokens shifted since error; after three, turn off error
status. */
if (yyerrstatus)
yyerrstatus--;
- /* Shift the look-ahead token. */
+ /* Shift the lookahead token. */
YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
- /* Discard the shifted token unless it is eof. */
- if (yychar != YYEOF)
- yychar = YYEMPTY;
+ /* Discard the shifted token. */
+ yychar = YYEMPTY;
yystate = yyn;
*++yyvsp = yylval;
@@ -1488,79 +1511,99 @@ yyreduce:
switch (yyn)
{
case 2:
+
+/* Line 1806 of yacc.c */
#line 122 "../Source/WebCore/xml/XPathGrammar.y"
{
PARSER->m_topExpr = (yyvsp[(1) - (1)].expr);
- ;}
+ }
break;
case 3:
+
+/* Line 1806 of yacc.c */
#line 129 "../Source/WebCore/xml/XPathGrammar.y"
{
(yyval.locationPath)->setAbsolute(false);
- ;}
+ }
break;
case 4:
+
+/* Line 1806 of yacc.c */
#line 134 "../Source/WebCore/xml/XPathGrammar.y"
{
(yyval.locationPath)->setAbsolute(true);
- ;}
+ }
break;
case 5:
+
+/* Line 1806 of yacc.c */
#line 141 "../Source/WebCore/xml/XPathGrammar.y"
{
(yyval.locationPath) = new LocationPath;
PARSER->registerParseNode((yyval.locationPath));
- ;}
+ }
break;
case 6:
+
+/* Line 1806 of yacc.c */
#line 147 "../Source/WebCore/xml/XPathGrammar.y"
{
(yyval.locationPath) = (yyvsp[(2) - (2)].locationPath);
- ;}
+ }
break;
case 7:
+
+/* Line 1806 of yacc.c */
#line 152 "../Source/WebCore/xml/XPathGrammar.y"
{
(yyval.locationPath) = (yyvsp[(2) - (2)].locationPath);
(yyval.locationPath)->insertFirstStep((yyvsp[(1) - (2)].step));
PARSER->unregisterParseNode((yyvsp[(1) - (2)].step));
- ;}
+ }
break;
case 8:
+
+/* Line 1806 of yacc.c */
#line 161 "../Source/WebCore/xml/XPathGrammar.y"
{
(yyval.locationPath) = new LocationPath;
(yyval.locationPath)->appendStep((yyvsp[(1) - (1)].step));
PARSER->unregisterParseNode((yyvsp[(1) - (1)].step));
PARSER->registerParseNode((yyval.locationPath));
- ;}
+ }
break;
case 9:
+
+/* Line 1806 of yacc.c */
#line 169 "../Source/WebCore/xml/XPathGrammar.y"
{
(yyval.locationPath)->appendStep((yyvsp[(3) - (3)].step));
PARSER->unregisterParseNode((yyvsp[(3) - (3)].step));
- ;}
+ }
break;
case 10:
+
+/* Line 1806 of yacc.c */
#line 175 "../Source/WebCore/xml/XPathGrammar.y"
{
(yyval.locationPath)->appendStep((yyvsp[(2) - (3)].step));
(yyval.locationPath)->appendStep((yyvsp[(3) - (3)].step));
PARSER->unregisterParseNode((yyvsp[(2) - (3)].step));
PARSER->unregisterParseNode((yyvsp[(3) - (3)].step));
- ;}
+ }
break;
case 11:
+
+/* Line 1806 of yacc.c */
#line 185 "../Source/WebCore/xml/XPathGrammar.y"
{
if ((yyvsp[(2) - (2)].predList)) {
@@ -1570,10 +1613,12 @@ yyreduce:
(yyval.step) = new Step(Step::ChildAxis, *(yyvsp[(1) - (2)].nodeTest));
PARSER->deleteNodeTest((yyvsp[(1) - (2)].nodeTest));
PARSER->registerParseNode((yyval.step));
- ;}
+ }
break;
case 12:
+
+/* Line 1806 of yacc.c */
#line 196 "../Source/WebCore/xml/XPathGrammar.y"
{
String localName;
@@ -1590,10 +1635,12 @@ yyreduce:
(yyval.step) = new Step(Step::ChildAxis, Step::NodeTest(Step::NodeTest::NameTest, localName, namespaceURI));
PARSER->deleteString((yyvsp[(1) - (2)].str));
PARSER->registerParseNode((yyval.step));
- ;}
+ }
break;
case 13:
+
+/* Line 1806 of yacc.c */
#line 214 "../Source/WebCore/xml/XPathGrammar.y"
{
if ((yyvsp[(3) - (3)].predList)) {
@@ -1603,10 +1650,12 @@ yyreduce:
(yyval.step) = new Step((yyvsp[(1) - (3)].axis), *(yyvsp[(2) - (3)].nodeTest));
PARSER->deleteNodeTest((yyvsp[(2) - (3)].nodeTest));
PARSER->registerParseNode((yyval.step));
- ;}
+ }
break;
case 14:
+
+/* Line 1806 of yacc.c */
#line 225 "../Source/WebCore/xml/XPathGrammar.y"
{
String localName;
@@ -1623,17 +1672,21 @@ yyreduce:
(yyval.step) = new Step((yyvsp[(1) - (3)].axis), Step::NodeTest(Step::NodeTest::NameTest, localName, namespaceURI));
PARSER->deleteString((yyvsp[(2) - (3)].str));
PARSER->registerParseNode((yyval.step));
- ;}
+ }
break;
case 17:
+
+/* Line 1806 of yacc.c */
#line 249 "../Source/WebCore/xml/XPathGrammar.y"
{
(yyval.axis) = Step::AttributeAxis;
- ;}
+ }
break;
case 18:
+
+/* Line 1806 of yacc.c */
#line 256 "../Source/WebCore/xml/XPathGrammar.y"
{
if (*(yyvsp[(1) - (3)].str) == "node")
@@ -1645,119 +1698,147 @@ yyreduce:
PARSER->deleteString((yyvsp[(1) - (3)].str));
PARSER->registerNodeTest((yyval.nodeTest));
- ;}
+ }
break;
case 19:
+
+/* Line 1806 of yacc.c */
#line 269 "../Source/WebCore/xml/XPathGrammar.y"
{
(yyval.nodeTest) = new Step::NodeTest(Step::NodeTest::ProcessingInstructionNodeTest);
PARSER->deleteString((yyvsp[(1) - (3)].str));
PARSER->registerNodeTest((yyval.nodeTest));
- ;}
+ }
break;
case 20:
+
+/* Line 1806 of yacc.c */
#line 276 "../Source/WebCore/xml/XPathGrammar.y"
{
(yyval.nodeTest) = new Step::NodeTest(Step::NodeTest::ProcessingInstructionNodeTest, (yyvsp[(3) - (4)].str)->stripWhiteSpace());
PARSER->deleteString((yyvsp[(1) - (4)].str));
PARSER->deleteString((yyvsp[(3) - (4)].str));
PARSER->registerNodeTest((yyval.nodeTest));
- ;}
+ }
break;
case 21:
+
+/* Line 1806 of yacc.c */
#line 286 "../Source/WebCore/xml/XPathGrammar.y"
{
(yyval.predList) = 0;
- ;}
+ }
break;
case 23:
+
+/* Line 1806 of yacc.c */
#line 295 "../Source/WebCore/xml/XPathGrammar.y"
{
(yyval.predList) = new Vector<Predicate*>;
(yyval.predList)->append(new Predicate((yyvsp[(1) - (1)].expr)));
PARSER->unregisterParseNode((yyvsp[(1) - (1)].expr));
PARSER->registerPredicateVector((yyval.predList));
- ;}
+ }
break;
case 24:
+
+/* Line 1806 of yacc.c */
#line 303 "../Source/WebCore/xml/XPathGrammar.y"
{
(yyval.predList)->append(new Predicate((yyvsp[(2) - (2)].expr)));
PARSER->unregisterParseNode((yyvsp[(2) - (2)].expr));
- ;}
+ }
break;
case 25:
+
+/* Line 1806 of yacc.c */
#line 311 "../Source/WebCore/xml/XPathGrammar.y"
{
(yyval.expr) = (yyvsp[(2) - (3)].expr);
- ;}
+ }
break;
case 26:
+
+/* Line 1806 of yacc.c */
#line 318 "../Source/WebCore/xml/XPathGrammar.y"
{
(yyval.step) = new Step(Step::DescendantOrSelfAxis, Step::NodeTest(Step::NodeTest::AnyNodeTest));
PARSER->registerParseNode((yyval.step));
- ;}
+ }
break;
case 27:
+
+/* Line 1806 of yacc.c */
#line 326 "../Source/WebCore/xml/XPathGrammar.y"
{
(yyval.step) = new Step(Step::SelfAxis, Step::NodeTest(Step::NodeTest::AnyNodeTest));
PARSER->registerParseNode((yyval.step));
- ;}
+ }
break;
case 28:
+
+/* Line 1806 of yacc.c */
#line 332 "../Source/WebCore/xml/XPathGrammar.y"
{
(yyval.step) = new Step(Step::ParentAxis, Step::NodeTest(Step::NodeTest::AnyNodeTest));
PARSER->registerParseNode((yyval.step));
- ;}
+ }
break;
case 29:
+
+/* Line 1806 of yacc.c */
#line 340 "../Source/WebCore/xml/XPathGrammar.y"
{
(yyval.expr) = new VariableReference(*(yyvsp[(1) - (1)].str));
PARSER->deleteString((yyvsp[(1) - (1)].str));
PARSER->registerParseNode((yyval.expr));
- ;}
+ }
break;
case 30:
+
+/* Line 1806 of yacc.c */
#line 347 "../Source/WebCore/xml/XPathGrammar.y"
{
(yyval.expr) = (yyvsp[(2) - (3)].expr);
- ;}
+ }
break;
case 31:
+
+/* Line 1806 of yacc.c */
#line 352 "../Source/WebCore/xml/XPathGrammar.y"
{
(yyval.expr) = new StringExpression(*(yyvsp[(1) - (1)].str));
PARSER->deleteString((yyvsp[(1) - (1)].str));
PARSER->registerParseNode((yyval.expr));
- ;}
+ }
break;
case 32:
+
+/* Line 1806 of yacc.c */
#line 359 "../Source/WebCore/xml/XPathGrammar.y"
{
(yyval.expr) = new Number((yyvsp[(1) - (1)].str)->toDouble());
PARSER->deleteString((yyvsp[(1) - (1)].str));
PARSER->registerParseNode((yyval.expr));
- ;}
+ }
break;
case 34:
+
+/* Line 1806 of yacc.c */
#line 370 "../Source/WebCore/xml/XPathGrammar.y"
{
(yyval.expr) = createFunction(*(yyvsp[(1) - (3)].str));
@@ -1765,10 +1846,12 @@ yyreduce:
YYABORT;
PARSER->deleteString((yyvsp[(1) - (3)].str));
PARSER->registerParseNode((yyval.expr));
- ;}
+ }
break;
case 35:
+
+/* Line 1806 of yacc.c */
#line 379 "../Source/WebCore/xml/XPathGrammar.y"
{
(yyval.expr) = createFunction(*(yyvsp[(1) - (4)].str), *(yyvsp[(3) - (4)].argList));
@@ -1777,28 +1860,34 @@ yyreduce:
PARSER->deleteString((yyvsp[(1) - (4)].str));
PARSER->deleteExpressionVector((yyvsp[(3) - (4)].argList));
PARSER->registerParseNode((yyval.expr));
- ;}
+ }
break;
case 36:
+
+/* Line 1806 of yacc.c */
#line 391 "../Source/WebCore/xml/XPathGrammar.y"
{
(yyval.argList) = new Vector<Expression*>;
(yyval.argList)->append((yyvsp[(1) - (1)].expr));
PARSER->unregisterParseNode((yyvsp[(1) - (1)].expr));
PARSER->registerExpressionVector((yyval.argList));
- ;}
+ }
break;
case 37:
+
+/* Line 1806 of yacc.c */
#line 399 "../Source/WebCore/xml/XPathGrammar.y"
{
(yyval.argList)->append((yyvsp[(3) - (3)].expr));
PARSER->unregisterParseNode((yyvsp[(3) - (3)].expr));
- ;}
+ }
break;
case 40:
+
+/* Line 1806 of yacc.c */
#line 413 "../Source/WebCore/xml/XPathGrammar.y"
{
(yyval.expr) = new Union;
@@ -1807,17 +1896,21 @@ yyreduce:
PARSER->unregisterParseNode((yyvsp[(1) - (3)].expr));
PARSER->unregisterParseNode((yyvsp[(3) - (3)].expr));
PARSER->registerParseNode((yyval.expr));
- ;}
+ }
break;
case 41:
+
+/* Line 1806 of yacc.c */
#line 425 "../Source/WebCore/xml/XPathGrammar.y"
{
(yyval.expr) = (yyvsp[(1) - (1)].locationPath);
- ;}
+ }
break;
case 43:
+
+/* Line 1806 of yacc.c */
#line 432 "../Source/WebCore/xml/XPathGrammar.y"
{
(yyvsp[(3) - (3)].locationPath)->setAbsolute(true);
@@ -1825,10 +1918,12 @@ yyreduce:
PARSER->unregisterParseNode((yyvsp[(1) - (3)].expr));
PARSER->unregisterParseNode((yyvsp[(3) - (3)].locationPath));
PARSER->registerParseNode((yyval.expr));
- ;}
+ }
break;
case 44:
+
+/* Line 1806 of yacc.c */
#line 441 "../Source/WebCore/xml/XPathGrammar.y"
{
(yyvsp[(3) - (3)].locationPath)->insertFirstStep((yyvsp[(2) - (3)].step));
@@ -1838,104 +1933,134 @@ yyreduce:
PARSER->unregisterParseNode((yyvsp[(2) - (3)].step));
PARSER->unregisterParseNode((yyvsp[(3) - (3)].locationPath));
PARSER->registerParseNode((yyval.expr));
- ;}
+ }
break;
case 46:
+
+/* Line 1806 of yacc.c */
#line 456 "../Source/WebCore/xml/XPathGrammar.y"
{
(yyval.expr) = new Filter((yyvsp[(1) - (2)].expr), *(yyvsp[(2) - (2)].predList));
PARSER->unregisterParseNode((yyvsp[(1) - (2)].expr));
PARSER->deletePredicateVector((yyvsp[(2) - (2)].predList));
PARSER->registerParseNode((yyval.expr));
- ;}
+ }
break;
case 48:
+
+/* Line 1806 of yacc.c */
#line 468 "../Source/WebCore/xml/XPathGrammar.y"
{
(yyval.expr) = new LogicalOp(LogicalOp::OP_Or, (yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr));
PARSER->unregisterParseNode((yyvsp[(1) - (3)].expr));
PARSER->unregisterParseNode((yyvsp[(3) - (3)].expr));
PARSER->registerParseNode((yyval.expr));
- ;}
+ }
break;
case 50:
+
+/* Line 1806 of yacc.c */
#line 480 "../Source/WebCore/xml/XPathGrammar.y"
{
(yyval.expr) = new LogicalOp(LogicalOp::OP_And, (yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr));
PARSER->unregisterParseNode((yyvsp[(1) - (3)].expr));
PARSER->unregisterParseNode((yyvsp[(3) - (3)].expr));
PARSER->registerParseNode((yyval.expr));
- ;}
+ }
break;
case 52:
+
+/* Line 1806 of yacc.c */
#line 492 "../Source/WebCore/xml/XPathGrammar.y"
{
(yyval.expr) = new EqTestOp((yyvsp[(2) - (3)].eqop), (yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr));
PARSER->unregisterParseNode((yyvsp[(1) - (3)].expr));
PARSER->unregisterParseNode((yyvsp[(3) - (3)].expr));
PARSER->registerParseNode((yyval.expr));
- ;}
+ }
break;
case 54:
+
+/* Line 1806 of yacc.c */
#line 504 "../Source/WebCore/xml/XPathGrammar.y"
{
(yyval.expr) = new EqTestOp((yyvsp[(2) - (3)].eqop), (yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr));
PARSER->unregisterParseNode((yyvsp[(1) - (3)].expr));
PARSER->unregisterParseNode((yyvsp[(3) - (3)].expr));
PARSER->registerParseNode((yyval.expr));
- ;}
+ }
break;
case 56:
+
+/* Line 1806 of yacc.c */
#line 516 "../Source/WebCore/xml/XPathGrammar.y"
{
(yyval.expr) = new NumericOp(NumericOp::OP_Add, (yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr));
PARSER->unregisterParseNode((yyvsp[(1) - (3)].expr));
PARSER->unregisterParseNode((yyvsp[(3) - (3)].expr));
PARSER->registerParseNode((yyval.expr));
- ;}
+ }
break;
case 57:
+
+/* Line 1806 of yacc.c */
#line 524 "../Source/WebCore/xml/XPathGrammar.y"
{
(yyval.expr) = new NumericOp(NumericOp::OP_Sub, (yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr));
PARSER->unregisterParseNode((yyvsp[(1) - (3)].expr));
PARSER->unregisterParseNode((yyvsp[(3) - (3)].expr));
PARSER->registerParseNode((yyval.expr));
- ;}
+ }
break;
case 59:
+
+/* Line 1806 of yacc.c */
#line 536 "../Source/WebCore/xml/XPathGrammar.y"
{
(yyval.expr) = new NumericOp((yyvsp[(2) - (3)].numop), (yyvsp[(1) - (3)].expr), (yyvsp[(3) - (3)].expr));
PARSER->unregisterParseNode((yyvsp[(1) - (3)].expr));
PARSER->unregisterParseNode((yyvsp[(3) - (3)].expr));
PARSER->registerParseNode((yyval.expr));
- ;}
+ }
break;
case 61:
+
+/* Line 1806 of yacc.c */
#line 548 "../Source/WebCore/xml/XPathGrammar.y"
{
(yyval.expr) = new Negative;
(yyval.expr)->addSubExpression((yyvsp[(2) - (2)].expr));
PARSER->unregisterParseNode((yyvsp[(2) - (2)].expr));
PARSER->registerParseNode((yyval.expr));
- ;}
+ }
break;
-/* Line 1267 of yacc.c. */
-#line 1937 "/Source/WebCore/generated/XPathGrammar.tab.c"
+
+/* Line 1806 of yacc.c */
+#line 2051 "/Source/WebCore/generated/XPathGrammar.tab.c"
default: break;
}
+ /* User semantic actions sometimes alter yychar, and that requires
+ that yytoken be updated with the new translation. We take the
+ approach of translating immediately before every use of yytoken.
+ One alternative is translating here after every semantic action,
+ but that translation would be missed if the semantic action invokes
+ YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or
+ if it invokes YYBACKUP. In the case of YYABORT or YYACCEPT, an
+ incorrect destructor might then be invoked immediately. In the
+ case of YYERROR or YYBACKUP, subsequent parser actions might lead
+ to an incorrect destructor call or verbose syntax error message
+ before the lookahead is translated. */
YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
YYPOPSTACK (yylen);
@@ -1944,7 +2069,6 @@ yyreduce:
*++yyvsp = yyval;
-
/* Now `shift' the result of the reduction. Determine what state
that goes to, based on the state we popped back to and the rule
number reduced by. */
@@ -1964,6 +2088,10 @@ yyreduce:
| yyerrlab -- here on detecting error |
`------------------------------------*/
yyerrlab:
+ /* Make sure we have latest lookahead translation. See comments at
+ user semantic actions for why this is necessary. */
+ yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar);
+
/* If not already recovering from an error, report this error. */
if (!yyerrstatus)
{
@@ -1971,37 +2099,36 @@ yyerrlab:
#if ! YYERROR_VERBOSE
yyerror (YY_("syntax error"));
#else
+# define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \
+ yyssp, yytoken)
{
- YYSIZE_T yysize = yysyntax_error (0, yystate, yychar);
- if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM)
- {
- YYSIZE_T yyalloc = 2 * yysize;
- if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM))
- yyalloc = YYSTACK_ALLOC_MAXIMUM;
- if (yymsg != yymsgbuf)
- YYSTACK_FREE (yymsg);
- yymsg = (char *) YYSTACK_ALLOC (yyalloc);
- if (yymsg)
- yymsg_alloc = yyalloc;
- else
- {
- yymsg = yymsgbuf;
- yymsg_alloc = sizeof yymsgbuf;
- }
- }
-
- if (0 < yysize && yysize <= yymsg_alloc)
- {
- (void) yysyntax_error (yymsg, yystate, yychar);
- yyerror (yymsg);
- }
- else
- {
- yyerror (YY_("syntax error"));
- if (yysize != 0)
- goto yyexhaustedlab;
- }
+ char const *yymsgp = YY_("syntax error");
+ int yysyntax_error_status;
+ yysyntax_error_status = YYSYNTAX_ERROR;
+ if (yysyntax_error_status == 0)
+ yymsgp = yymsg;
+ else if (yysyntax_error_status == 1)
+ {
+ if (yymsg != yymsgbuf)
+ YYSTACK_FREE (yymsg);
+ yymsg = (char *) YYSTACK_ALLOC (yymsg_alloc);
+ if (!yymsg)
+ {
+ yymsg = yymsgbuf;
+ yymsg_alloc = sizeof yymsgbuf;
+ yysyntax_error_status = 2;
+ }
+ else
+ {
+ yysyntax_error_status = YYSYNTAX_ERROR;
+ yymsgp = yymsg;
+ }
+ }
+ yyerror (yymsgp);
+ if (yysyntax_error_status == 2)
+ goto yyexhaustedlab;
}
+# undef YYSYNTAX_ERROR
#endif
}
@@ -2009,7 +2136,7 @@ yyerrlab:
if (yyerrstatus == 3)
{
- /* If just tried and failed to reuse look-ahead token after an
+ /* If just tried and failed to reuse lookahead token after an
error, discard it. */
if (yychar <= YYEOF)
@@ -2026,7 +2153,7 @@ yyerrlab:
}
}
- /* Else will try to reuse look-ahead token after shifting the error
+ /* Else will try to reuse lookahead token after shifting the error
token. */
goto yyerrlab1;
@@ -2060,7 +2187,7 @@ yyerrlab1:
for (;;)
{
yyn = yypact[yystate];
- if (yyn != YYPACT_NINF)
+ if (!yypact_value_is_default (yyn))
{
yyn += YYTERROR;
if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
@@ -2083,9 +2210,6 @@ yyerrlab1:
YY_STACK_PRINT (yyss, yyssp);
}
- if (yyn == YYFINAL)
- YYACCEPT;
-
*++yyvsp = yylval;
@@ -2110,7 +2234,7 @@ yyabortlab:
yyresult = 1;
goto yyreturn;
-#ifndef yyoverflow
+#if !defined(yyoverflow) || YYERROR_VERBOSE
/*-------------------------------------------------.
| yyexhaustedlab -- memory exhaustion comes here. |
`-------------------------------------------------*/
@@ -2121,9 +2245,14 @@ yyexhaustedlab:
#endif
yyreturn:
- if (yychar != YYEOF && yychar != YYEMPTY)
- yydestruct ("Cleanup: discarding lookahead",
- yytoken, &yylval);
+ if (yychar != YYEMPTY)
+ {
+ /* Make sure we have latest lookahead translation. See comments at
+ user semantic actions for why this is necessary. */
+ yytoken = YYTRANSLATE (yychar);
+ yydestruct ("Cleanup: discarding lookahead",
+ yytoken, &yylval);
+ }
/* Do not reclaim the symbols of the rule which action triggered
this YYABORT or YYACCEPT. */
YYPOPSTACK (yylen);
@@ -2147,6 +2276,8 @@ yyreturn:
}
+
+/* Line 2067 of yacc.c */
#line 556 "../Source/WebCore/xml/XPathGrammar.y"
diff --git a/src/3rdparty/webkit/Source/WebCore/generated/XPathGrammar.h b/src/3rdparty/webkit/Source/WebCore/generated/XPathGrammar.h
index 678818339b..291127260f 100644
--- a/src/3rdparty/webkit/Source/WebCore/generated/XPathGrammar.h
+++ b/src/3rdparty/webkit/Source/WebCore/generated/XPathGrammar.h
@@ -1,24 +1,21 @@
-/* A Bison parser, made by GNU Bison 2.3. */
+/* A Bison parser, made by GNU Bison 2.5. */
-/* Skeleton interface for Bison's Yacc-like parsers in C
-
- Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
- Free Software Foundation, Inc.
-
- This program is free software; you can redistribute it and/or modify
+/* Bison interface for Yacc-like parsers in C
+
+ Copyright (C) 1984, 1989-1990, 2000-2011 Free Software Foundation, Inc.
+
+ This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2, or (at your option)
- any later version.
-
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
-
+
You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 51 Franklin Street, Fifth Floor,
- Boston, MA 02110-1301, USA. */
+ along with this program. If not, see <http://www.gnu.org/licenses/>. */
/* As a special exception, you may create a larger work that contains
part or all of the Bison parser skeleton and distribute that work
@@ -29,10 +26,11 @@
special exception, which will cause the skeleton and the resulting
Bison output files to be licensed under the GNU General Public
License without this special exception.
-
+
This special exception was added by the Free Software Foundation in
version 2.2 of Bison. */
+
/* Tokens. */
#ifndef YYTOKENTYPE
# define YYTOKENTYPE
@@ -59,33 +57,16 @@
XPATH_ERROR = 275
};
#endif
-/* Tokens. */
-#define MULOP 258
-#define RELOP 259
-#define EQOP 260
-#define MINUS 261
-#define PLUS 262
-#define AND 263
-#define OR 264
-#define AXISNAME 265
-#define NODETYPE 266
-#define PI 267
-#define FUNCTIONNAME 268
-#define LITERAL 269
-#define VARIABLEREFERENCE 270
-#define NUMBER 271
-#define DOTDOT 272
-#define SLASHSLASH 273
-#define NAMETEST 274
-#define XPATH_ERROR 275
-
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
typedef union YYSTYPE
-#line 60 "../Source/WebCore/xml/XPathGrammar.y"
{
+
+/* Line 2068 of yacc.c */
+#line 60 "../Source/WebCore/xml/XPathGrammar.y"
+
Step::Axis axis;
Step::NodeTest* nodeTest;
NumericOp::Opcode numop;
@@ -96,14 +77,17 @@ typedef union YYSTYPE
Vector<Expression*>* argList;
Step* step;
LocationPath* locationPath;
-}
-/* Line 1529 of yacc.c. */
-#line 102 "/Source/WebCore/generated/XPathGrammar.tab.h"
- YYSTYPE;
+
+
+
+/* Line 2068 of yacc.c */
+#line 85 "/Source/WebCore/generated/XPathGrammar.tab.h"
+} YYSTYPE;
+# define YYSTYPE_IS_TRIVIAL 1
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
-# define YYSTYPE_IS_TRIVIAL 1
#endif
+
diff --git a/src/3rdparty/webkit/Source/WebCore/html/HTMLCanvasElement.cpp b/src/3rdparty/webkit/Source/WebCore/html/HTMLCanvasElement.cpp
index d416562372..db0d148684 100644
--- a/src/3rdparty/webkit/Source/WebCore/html/HTMLCanvasElement.cpp
+++ b/src/3rdparty/webkit/Source/WebCore/html/HTMLCanvasElement.cpp
@@ -373,17 +373,21 @@ PassRefPtr<ImageData> HTMLCanvasElement::getImageData()
IntRect HTMLCanvasElement::convertLogicalToDevice(const FloatRect& logicalRect) const
{
- float left = floorf(logicalRect.x() * m_pageScaleFactor);
- float top = floorf(logicalRect.y() * m_pageScaleFactor);
- float right = ceilf(logicalRect.maxX() * m_pageScaleFactor);
- float bottom = ceilf(logicalRect.maxY() * m_pageScaleFactor);
-
+ // Prevent under/overflow by ensuring the rect's bounds stay within integer-expressible range
+ int left = clampToInteger(floorf(logicalRect.x() * m_pageScaleFactor));
+ int top = clampToInteger(floorf(logicalRect.y() * m_pageScaleFactor));
+ int right = clampToInteger(ceilf(logicalRect.maxX() * m_pageScaleFactor));
+ int bottom = clampToInteger(ceilf(logicalRect.maxY() * m_pageScaleFactor));
+
return IntRect(IntPoint(left, top), convertToValidDeviceSize(right - left, bottom - top));
}
IntSize HTMLCanvasElement::convertLogicalToDevice(const FloatSize& logicalSize) const
{
- return convertToValidDeviceSize(logicalSize.width() * m_pageScaleFactor, logicalSize.height() * m_pageScaleFactor);
+ // Prevent overflow by ensuring the rect's bounds stay within integer-expressible range
+ float width = clampToInteger(ceilf(logicalSize.width() * m_pageScaleFactor));
+ float height = clampToInteger(ceilf(logicalSize.height() * m_pageScaleFactor));
+ return convertToValidDeviceSize(width, height);
}
IntSize HTMLCanvasElement::convertToValidDeviceSize(float width, float height) const
diff --git a/src/3rdparty/webkit/Source/WebCore/html/canvas/CanvasRenderingContext2D.cpp b/src/3rdparty/webkit/Source/WebCore/html/canvas/CanvasRenderingContext2D.cpp
index 7500854df4..453248498e 100644
--- a/src/3rdparty/webkit/Source/WebCore/html/canvas/CanvasRenderingContext2D.cpp
+++ b/src/3rdparty/webkit/Source/WebCore/html/canvas/CanvasRenderingContext2D.cpp
@@ -1663,6 +1663,10 @@ PassRefPtr<ImageData> CanvasRenderingContext2D::createImageData(float sw, float
if (scaledSize.height() < 1)
scaledSize.setHeight(1);
+ float area = 4.0f * scaledSize.width() * scaledSize.height();
+ if (area > static_cast<float>(std::numeric_limits<int>::max()))
+ return 0;
+
return createEmptyImageData(scaledSize);
}
@@ -1699,7 +1703,12 @@ PassRefPtr<ImageData> CanvasRenderingContext2D::getImageData(float sx, float sy,
ImageBuffer* buffer = canvas()->buffer();
if (!buffer)
return createEmptyImageData(scaledRect.size());
- return ImageData::create(scaledRect.size(), buffer->getUnmultipliedImageData(scaledRect));
+
+ RefPtr<ByteArray> byteArray = buffer->getUnmultipliedImageData(scaledRect);
+ if (!byteArray)
+ return 0;
+
+ return ImageData::create(scaledRect.size(), byteArray.release());
}
void CanvasRenderingContext2D::putImageData(ImageData* data, float dx, float dy, ExceptionCode& ec)
diff --git a/src/3rdparty/webkit/Source/WebCore/html/parser/HTMLConstructionSite.cpp b/src/3rdparty/webkit/Source/WebCore/html/parser/HTMLConstructionSite.cpp
index 01a3052a2d..39745867cd 100644
--- a/src/3rdparty/webkit/Source/WebCore/html/parser/HTMLConstructionSite.cpp
+++ b/src/3rdparty/webkit/Source/WebCore/html/parser/HTMLConstructionSite.cpp
@@ -82,13 +82,14 @@ bool causesFosterParenting(const QualifiedName& tagName)
} // namespace
template<typename ChildType>
-PassRefPtr<ChildType> HTMLConstructionSite::attach(ContainerNode* parent, PassRefPtr<ChildType> prpChild)
+PassRefPtr<ChildType> HTMLConstructionSite::attach(ContainerNode* rawParent, PassRefPtr<ChildType> prpChild)
{
RefPtr<ChildType> child = prpChild;
+ RefPtr<ContainerNode> parent = rawParent;
// FIXME: It's confusing that HTMLConstructionSite::attach does the magic
// redirection to the foster parent but HTMLConstructionSite::attachAtSite
- // doesn't. It feels like we're missing a concept somehow.
+ // doesn't. It feels like we're missing a concept somehow.
if (shouldFosterParent()) {
fosterParent(child.get());
ASSERT(child->attached() || !child->parentNode() || !child->parentNode()->attached());
@@ -102,11 +103,6 @@ PassRefPtr<ChildType> HTMLConstructionSite::attach(ContainerNode* parent, PassRe
if (!child->parentNode())
return child.release();
- // It's slightly unfortunate that we need to hold a reference to child
- // here to call attach(). We should investigate whether we can rely on
- // |parent| to hold a ref at this point. In the common case (at least
- // for elements), however, we'll get to use this ref in the stack of
- // open elements.
if (parent->attached() && !child->attached())
child->attach();
return child.release();
diff --git a/src/3rdparty/webkit/Source/WebCore/html/shadow/MediaControlElements.cpp b/src/3rdparty/webkit/Source/WebCore/html/shadow/MediaControlElements.cpp
index e0205b3e8e..ac5d5e2804 100644
--- a/src/3rdparty/webkit/Source/WebCore/html/shadow/MediaControlElements.cpp
+++ b/src/3rdparty/webkit/Source/WebCore/html/shadow/MediaControlElements.cpp
@@ -33,6 +33,7 @@
#include "MediaControlElements.h"
#include "CSSStyleSelector.h"
+#include "CSSValueKeywords.h"
#include "EventNames.h"
#include "FloatConversion.h"
#include "Frame.h"
@@ -100,6 +101,8 @@ void MediaControlElement::hide()
inline MediaControlPanelElement::MediaControlPanelElement(HTMLMediaElement* mediaElement)
: MediaControlElement(mediaElement)
+ , m_canBeDragged(false)
+ , m_isBeingDragged(false)
{
}
@@ -119,6 +122,108 @@ const AtomicString& MediaControlPanelElement::shadowPseudoId() const
return id;
}
+void MediaControlPanelElement::startDrag(const IntPoint& eventLocation)
+{
+ if (!m_canBeDragged)
+ return;
+
+ if (m_isBeingDragged)
+ return;
+
+ RenderObject* renderer = this->renderer();
+ if (!renderer || !renderer->isBox())
+ return;
+
+ Frame* frame = document()->frame();
+ if (!frame)
+ return;
+
+ m_dragStartPosition = toRenderBox(renderer)->location();
+ m_dragStartEventLocation = eventLocation;
+
+ frame->eventHandler()->setCapturingMouseEventsNode(this);
+
+ m_isBeingDragged = true;
+}
+
+void MediaControlPanelElement::continueDrag(const IntPoint& eventLocation)
+{
+ if (!m_isBeingDragged)
+ return;
+
+ IntSize distanceDragged = eventLocation - m_dragStartEventLocation;
+ setPosition(m_dragStartPosition + distanceDragged);
+}
+
+void MediaControlPanelElement::endDrag()
+{
+ if (!m_isBeingDragged)
+ return;
+
+ m_isBeingDragged = false;
+
+ Frame* frame = document()->frame();
+ if (!frame)
+ return;
+
+ frame->eventHandler()->setCapturingMouseEventsNode(0);
+}
+
+void MediaControlPanelElement::setPosition(const IntPoint& position)
+{
+ CSSMutableStyleDeclaration* style = getInlineStyleDecl();
+
+ double left = position.x();
+ double top = position.y();
+
+ // Set the left and top to control the panel's position; this depends on it being absolute positioned.
+ // Set the margin to zero since the position passed in will already include the effect of the margin.
+ style->setProperty(CSSPropertyLeft, left, CSSPrimitiveValue::CSS_PX);
+ style->setProperty(CSSPropertyTop, top, CSSPrimitiveValue::CSS_PX);
+ style->setProperty(CSSPropertyMarginLeft, 0.0, CSSPrimitiveValue::CSS_PX);
+ style->setProperty(CSSPropertyMarginTop, 0.0, CSSPrimitiveValue::CSS_PX);
+}
+
+void MediaControlPanelElement::resetPosition()
+{
+ CSSMutableStyleDeclaration* style = getInlineStyleDecl();
+
+ style->removeProperty(CSSPropertyLeft);
+ style->removeProperty(CSSPropertyTop);
+ style->removeProperty(CSSPropertyMarginLeft);
+ style->removeProperty(CSSPropertyMarginTop);
+}
+
+void MediaControlPanelElement::defaultEventHandler(Event* event)
+{
+ MediaControlElement::defaultEventHandler(event);
+
+ if (event->isMouseEvent()) {
+ IntPoint location = static_cast<MouseEvent*>(event)->absoluteLocation();
+ if (event->type() == eventNames().mousedownEvent) {
+ startDrag(location);
+ event->setDefaultHandled();
+ } else if (event->type() == eventNames().mousemoveEvent)
+ continueDrag(location);
+ else if (event->type() == eventNames().mouseupEvent) {
+ continueDrag(location);
+ endDrag();
+ event->setDefaultHandled();
+ }
+ }
+}
+
+void MediaControlPanelElement::setCanBeDragged(bool canBeDragged)
+{
+ if (m_canBeDragged == canBeDragged)
+ return;
+
+ m_canBeDragged = canBeDragged;
+
+ if (!canBeDragged)
+ endDrag();
+}
+
// ----------------------------
inline MediaControlTimelineContainerElement::MediaControlTimelineContainerElement(HTMLMediaElement* mediaElement)
diff --git a/src/3rdparty/webkit/Source/WebCore/html/shadow/MediaControlElements.h b/src/3rdparty/webkit/Source/WebCore/html/shadow/MediaControlElements.h
index ff8f46146d..76c6402609 100644
--- a/src/3rdparty/webkit/Source/WebCore/html/shadow/MediaControlElements.h
+++ b/src/3rdparty/webkit/Source/WebCore/html/shadow/MediaControlElements.h
@@ -98,10 +98,25 @@ class MediaControlPanelElement : public MediaControlElement {
public:
static PassRefPtr<MediaControlPanelElement> create(HTMLMediaElement*);
+ void setCanBeDragged(bool);
+ void resetPosition();
+
private:
MediaControlPanelElement(HTMLMediaElement*);
virtual MediaControlElementType displayType() const;
virtual const AtomicString& shadowPseudoId() const;
+ virtual void defaultEventHandler(Event*);
+
+ void startDrag(const IntPoint& eventLocation);
+ void continueDrag(const IntPoint& eventLocation);
+ void endDrag();
+
+ void setPosition(const IntPoint&);
+
+ bool m_canBeDragged;
+ bool m_isBeingDragged;
+ IntPoint m_dragStartPosition;
+ IntPoint m_dragStartEventLocation;
};
// ----------------------------
diff --git a/src/3rdparty/webkit/Source/WebCore/html/shadow/MediaControlRootElement.cpp b/src/3rdparty/webkit/Source/WebCore/html/shadow/MediaControlRootElement.cpp
index 6ea1ea3d21..2c665ef974 100644
--- a/src/3rdparty/webkit/Source/WebCore/html/shadow/MediaControlRootElement.cpp
+++ b/src/3rdparty/webkit/Source/WebCore/html/shadow/MediaControlRootElement.cpp
@@ -428,6 +428,8 @@ void MediaControlRootElement::enteredFullscreen()
} else
m_rewindButton->hide();
+ m_panel->setCanBeDragged(true);
+
startHideFullscreenControlsTimer();
}
@@ -440,6 +442,13 @@ void MediaControlRootElement::exitedFullscreen()
m_seekBackButton->show();
m_seekForwardButton->show();
+ m_panel->setCanBeDragged(false);
+
+ // We will keep using the panel, but we want it to go back to the standard position.
+ // This will matter right away because we use the panel even when not fullscreen.
+ // And if we reenter fullscreen we also want the panel in the standard position.
+ m_panel->resetPosition();
+
stopHideFullscreenControlsTimer();
}
diff --git a/src/3rdparty/webkit/Source/WebCore/loader/DocumentLoader.cpp b/src/3rdparty/webkit/Source/WebCore/loader/DocumentLoader.cpp
index 96889d8d4d..0ff654a7af 100644
--- a/src/3rdparty/webkit/Source/WebCore/loader/DocumentLoader.cpp
+++ b/src/3rdparty/webkit/Source/WebCore/loader/DocumentLoader.cpp
@@ -400,10 +400,6 @@ void DocumentLoader::detachFromFrame()
{
ASSERT(m_frame);
- // It never makes sense to have a document loader that is detached from its
- // frame have any loads active, so go ahead and kill all the loads.
- stopLoading();
-
#if ENABLE(OFFLINE_WEB_APPLICATIONS)
m_applicationCacheHost->setDOMApplicationCache(0);
#endif
diff --git a/src/3rdparty/webkit/Source/WebCore/platform/graphics/MediaPlayer.cpp b/src/3rdparty/webkit/Source/WebCore/platform/graphics/MediaPlayer.cpp
index fb583b61ea..f66b60aeb9 100644
--- a/src/3rdparty/webkit/Source/WebCore/platform/graphics/MediaPlayer.cpp
+++ b/src/3rdparty/webkit/Source/WebCore/platform/graphics/MediaPlayer.cpp
@@ -62,9 +62,6 @@
#if USE(QT_MULTIMEDIA) && !USE(GSTREAMER)
#include "MediaPlayerPrivateQt.h"
#define PlatformMediaEngineClassName MediaPlayerPrivateQt
-#elif !USE(GSTREAMER) && !USE(QTKIT)
-#include "MediaPlayerPrivatePhonon.h"
-#define PlatformMediaEngineClassName MediaPlayerPrivatePhonon
#endif
#elif PLATFORM(CHROMIUM)
#include "MediaPlayerPrivateChromium.h"
diff --git a/src/3rdparty/webkit/Source/WebCore/platform/graphics/TiledBackingStore.cpp b/src/3rdparty/webkit/Source/WebCore/platform/graphics/TiledBackingStore.cpp
index ac7e9c6f52..dd908c0ecd 100644
--- a/src/3rdparty/webkit/Source/WebCore/platform/graphics/TiledBackingStore.cpp
+++ b/src/3rdparty/webkit/Source/WebCore/platform/graphics/TiledBackingStore.cpp
@@ -30,6 +30,13 @@ namespace WebCore {
static const int defaultTileWidth = 512;
static const int defaultTileHeight = 512;
+static IntPoint innerBottomRight(const IntRect& rect)
+{
+ // Actually, the rect does not contain rect.maxX(). Refer to IntRect::contain.
+ return IntPoint(rect.maxX() - 1, rect.maxY() - 1);
+}
+
+
TiledBackingStore::TiledBackingStore(TiledBackingStoreClient* client)
: m_client(client)
, m_tileBufferUpdateTimer(new TileTimer(this, &TiledBackingStore::tileBufferUpdateTimerFired))
@@ -74,7 +81,7 @@ void TiledBackingStore::invalidate(const IntRect& contentsDirtyRect)
IntRect dirtyRect(mapFromContents(contentsDirtyRect));
Tile::Coordinate topLeft = tileCoordinateForPoint(dirtyRect.location());
- Tile::Coordinate bottomRight = tileCoordinateForPoint(IntPoint(dirtyRect.maxX(), dirtyRect.maxY()));
+ Tile::Coordinate bottomRight = tileCoordinateForPoint(innerBottomRight(dirtyRect));
for (unsigned yCoordinate = topLeft.y(); yCoordinate <= bottomRight.y(); ++yCoordinate) {
for (unsigned xCoordinate = topLeft.x(); xCoordinate <= bottomRight.x(); ++xCoordinate) {
@@ -133,7 +140,7 @@ void TiledBackingStore::paint(GraphicsContext* context, const IntRect& rect)
IntRect dirtyRect = mapFromContents(rect);
Tile::Coordinate topLeft = tileCoordinateForPoint(dirtyRect.location());
- Tile::Coordinate bottomRight = tileCoordinateForPoint(IntPoint(dirtyRect.maxX(), dirtyRect.maxY()));
+ Tile::Coordinate bottomRight = tileCoordinateForPoint(innerBottomRight(dirtyRect));
for (unsigned yCoordinate = topLeft.y(); yCoordinate <= bottomRight.y(); ++yCoordinate) {
for (unsigned xCoordinate = topLeft.x(); xCoordinate <= bottomRight.x(); ++xCoordinate) {
@@ -230,7 +237,7 @@ void TiledBackingStore::createTiles()
Vector<Tile::Coordinate> tilesToCreate;
unsigned requiredTileCount = 0;
Tile::Coordinate topLeft = tileCoordinateForPoint(coverRect.location());
- Tile::Coordinate bottomRight = tileCoordinateForPoint(IntPoint(coverRect.maxX(), coverRect.maxY()));
+ Tile::Coordinate bottomRight = tileCoordinateForPoint(innerBottomRight(coverRect));
for (unsigned yCoordinate = topLeft.y(); yCoordinate <= bottomRight.y(); ++yCoordinate) {
for (unsigned xCoordinate = topLeft.x(); xCoordinate <= bottomRight.x(); ++xCoordinate) {
Tile::Coordinate currentCoordinate(xCoordinate, yCoordinate);
diff --git a/src/3rdparty/webkit/Source/WebCore/platform/graphics/cg/ImageBufferDataCG.cpp b/src/3rdparty/webkit/Source/WebCore/platform/graphics/cg/ImageBufferDataCG.cpp
index f067b66963..08652c98e2 100644
--- a/src/3rdparty/webkit/Source/WebCore/platform/graphics/cg/ImageBufferDataCG.cpp
+++ b/src/3rdparty/webkit/Source/WebCore/platform/graphics/cg/ImageBufferDataCG.cpp
@@ -110,6 +110,10 @@ static void premultitplyScanline(void* data, size_t tileNumber)
PassRefPtr<ByteArray> ImageBufferData::getData(const IntRect& rect, const IntSize& size, bool accelerateRendering, bool unmultiplied) const
{
+ float area = 4.0f * rect.width() * rect.height();
+ if (area > static_cast<float>(std::numeric_limits<int>::max()))
+ return 0;
+
RefPtr<ByteArray> result = ByteArray::create(rect.width() * rect.height() * 4);
unsigned char* data = result->data();
diff --git a/src/3rdparty/webkit/Source/WebCore/platform/graphics/gstreamer/PlatformVideoWindowQt.cpp b/src/3rdparty/webkit/Source/WebCore/platform/graphics/gstreamer/PlatformVideoWindowQt.cpp
index 72707851af..a442a2b4d0 100644
--- a/src/3rdparty/webkit/Source/WebCore/platform/graphics/gstreamer/PlatformVideoWindowQt.cpp
+++ b/src/3rdparty/webkit/Source/WebCore/platform/graphics/gstreamer/PlatformVideoWindowQt.cpp
@@ -61,9 +61,9 @@ void FullScreenVideoWindow::keyPressEvent(QKeyEvent* ev)
{
if (m_mediaElement && ev->key() == Qt::Key_Space) {
if (!m_mediaElement->paused())
- m_mediaElement->pause(true);
+ m_mediaElement->pause();
else
- m_mediaElement->play(true);
+ m_mediaElement->play();
} else if (ev->key() == Qt::Key_Escape)
emit closed();
QWidget::keyPressEvent(ev);
diff --git a/src/3rdparty/webkit/Source/WebCore/platform/graphics/qt/MediaPlayerPrivatePhonon.cpp b/src/3rdparty/webkit/Source/WebCore/platform/graphics/qt/MediaPlayerPrivatePhonon.cpp
deleted file mode 100644
index 50ee0f1ec3..0000000000
--- a/src/3rdparty/webkit/Source/WebCore/platform/graphics/qt/MediaPlayerPrivatePhonon.cpp
+++ /dev/null
@@ -1,557 +0,0 @@
-/*
- Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies)
- Copyright (C) 2009 Apple Inc. All rights reserved.
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Library General Public
- License as published by the Free Software Foundation; either
- version 2 of the License, or (at your option) any later version.
-
- This library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Library General Public License for more details.
-
- You should have received a copy of the GNU Library General Public License
- along with this library; see the file COPYING.LIB. If not, write to
- the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- Boston, MA 02110-1301, USA.
-*/
-
-#include "config.h"
-#include "MediaPlayerPrivatePhonon.h"
-
-#include <limits>
-
-#include "FrameView.h"
-#include "GraphicsContext.h"
-#include "Logging.h"
-#include "MIMETypeRegistry.h"
-#include "NotImplemented.h"
-#include "TimeRanges.h"
-#include "Widget.h"
-#include <wtf/HashSet.h>
-#include <wtf/text/CString.h>
-
-#include <QDebug>
-#include <QEvent>
-#include <QMetaEnum>
-#include <QPainter>
-#include <QWidget>
-#include <QUrl>
-
-#include <phonon/audiooutput.h>
-#include <phonon/backendcapabilities.h>
-#include <phonon/path.h>
-#include <phonon/mediaobject.h>
-#include <phonon/videowidget.h>
-
-using namespace Phonon;
-
-#define LOG_MEDIAOBJECT() (LOG(Media, "%s", debugMediaObject(this, *m_mediaObject).constData()))
-
-#if !LOG_DISABLED
-static QByteArray debugMediaObject(WebCore::MediaPlayerPrivatePhonon* mediaPlayer, const MediaObject& mediaObject)
-{
- QByteArray byteArray;
- QTextStream stream(&byteArray);
-
- const QMetaObject* metaObj = mediaPlayer->metaObject();
- QMetaEnum phononStates = metaObj->enumerator(metaObj->indexOfEnumerator("PhononState"));
-
- stream << "debugMediaObject -> Phonon::MediaObject(";
- stream << "State: " << phononStates.valueToKey(mediaObject.state());
- stream << " | Current time: " << mediaObject.currentTime();
- stream << " | Remaining time: " << mediaObject.remainingTime();
- stream << " | Total time: " << mediaObject.totalTime();
- stream << " | Meta-data: ";
- QMultiMap<QString, QString> map = mediaObject.metaData();
- for (QMap<QString, QString>::const_iterator it = map.constBegin();
- it != map.constEnd(); ++it) {
- stream << "(" << it.key() << ", " << it.value() << ")";
- }
- stream << " | Has video: " << mediaObject.hasVideo();
- stream << " | Is seekable: " << mediaObject.isSeekable();
- stream << ")";
-
- stream.flush();
-
- return byteArray;
-}
-#endif
-
-using namespace WTF;
-
-namespace WebCore {
-
-MediaPlayerPrivatePhonon::MediaPlayerPrivatePhonon(MediaPlayer* player)
- : m_player(player)
- , m_networkState(MediaPlayer::Empty)
- , m_readyState(MediaPlayer::HaveNothing)
- , m_mediaObject(new MediaObject())
- , m_videoWidget(new VideoWidget(0))
- , m_audioOutput(new AudioOutput())
- , m_isVisible(false)
-{
- // Hint to Phonon to disable overlay painting
- m_videoWidget->setAttribute(Qt::WA_DontShowOnScreen);
- m_videoWidget->setAttribute(Qt::WA_QuitOnClose, false);
-
- createPath(m_mediaObject, m_videoWidget);
- createPath(m_mediaObject, m_audioOutput);
-
- // Make sure we get updates for each frame
- m_videoWidget->installEventFilter(this);
- foreach (QWidget* widget, m_videoWidget->findChildren<QWidget*>())
- widget->installEventFilter(this);
-
- connect(m_mediaObject, SIGNAL(stateChanged(Phonon::State,Phonon::State)),
- this, SLOT(stateChanged(Phonon::State,Phonon::State)));
- connect(m_mediaObject, SIGNAL(metaDataChanged()), this, SLOT(metaDataChanged()));
- connect(m_mediaObject, SIGNAL(seekableChanged(bool)), this, SLOT(seekableChanged(bool)));
- connect(m_mediaObject, SIGNAL(hasVideoChanged(bool)), this, SLOT(hasVideoChanged(bool)));
- connect(m_mediaObject, SIGNAL(bufferStatus(int)), this, SLOT(bufferStatus(int)));
- connect(m_mediaObject, SIGNAL(finished()), this, SLOT(finished()));
- connect(m_mediaObject, SIGNAL(currentSourceChanged(Phonon::MediaSource)),
- this, SLOT(currentSourceChanged(Phonon::MediaSource)));
- connect(m_mediaObject, SIGNAL(aboutToFinish()), this, SLOT(aboutToFinish()));
- connect(m_mediaObject, SIGNAL(totalTimeChanged(qint64)), this, SLOT(totalTimeChanged(qint64)));
-}
-
-PassOwnPtr<MediaPlayerPrivateInterface> MediaPlayerPrivatePhonon::create(MediaPlayer* player)
-{
- return adoptPtr(new MediaPlayerPrivatePhonon(player));
-}
-
-void MediaPlayerPrivatePhonon::registerMediaEngine(MediaEngineRegistrar registrar)
-{
- if (isAvailable())
- registrar(create, getSupportedTypes, supportsType, 0, 0, 0);
-}
-
-
-MediaPlayerPrivatePhonon::~MediaPlayerPrivatePhonon()
-{
- LOG(Media, "MediaPlayerPrivatePhonon::dtor deleting videowidget");
- m_videoWidget->close();
- delete m_videoWidget;
- m_videoWidget = 0;
-
- LOG(Media, "MediaPlayerPrivatePhonon::dtor deleting audiooutput");
- delete m_audioOutput;
- m_audioOutput = 0;
-
- LOG(Media, "MediaPlayerPrivatePhonon::dtor deleting mediaobject");
- delete m_mediaObject;
- m_mediaObject = 0;
-}
-
-HashSet<String>& MediaPlayerPrivatePhonon::supportedTypesCache()
-{
- static HashSet<String> supportedTypes;
- if (!supportedTypes.isEmpty())
- return supportedTypes;
-
- // FIXME: we should rebuild the MIME type cache every time the backend is changed,
- // however, this would have no effect on MIMETypeRegistry anyway, because it
- // pulls this data only once.
-
- QStringList types = Phonon::BackendCapabilities::availableMimeTypes();
- foreach (const QString& type, types) {
- QString first = type.split(QLatin1Char('/')).at(0);
-
- // We're only interested in types which are not supported by WebCore itself.
- if (first != QLatin1String("video")
- && first != QLatin1String("audio")
- && first != QLatin1String("application"))
- continue;
- if (MIMETypeRegistry::isSupportedNonImageMIMEType(type))
- continue;
-
- supportedTypes.add(String(type));
- }
-
- // These formats are supported by GStreamer, but not correctly advertised.
- if (supportedTypes.contains(String("video/x-h264"))
- || supportedTypes.contains(String("audio/x-m4a"))) {
- supportedTypes.add(String("video/mp4"));
- supportedTypes.add(String("audio/aac"));
- }
-
- if (supportedTypes.contains(String("video/x-theora")))
- supportedTypes.add(String("video/ogg"));
-
- if (supportedTypes.contains(String("audio/x-vorbis")))
- supportedTypes.add(String("audio/ogg"));
-
- if (supportedTypes.contains(String("audio/x-wav")))
- supportedTypes.add(String("audio/wav"));
-
- return supportedTypes;
-}
-
-void MediaPlayerPrivatePhonon::getSupportedTypes(HashSet<String>& types)
-{
- types = supportedTypesCache();
-}
-
-MediaPlayer::SupportsType MediaPlayerPrivatePhonon::supportsType(const String& type, const String& codecs)
-{
- if (type.isEmpty())
- return MediaPlayer::IsNotSupported;
-
- if (supportedTypesCache().contains(type))
- return codecs.isEmpty() ? MediaPlayer::MayBeSupported : MediaPlayer::IsSupported;
- return MediaPlayer::IsNotSupported;
-}
-
-bool MediaPlayerPrivatePhonon::hasVideo() const
-{
- bool hasVideo = m_mediaObject->hasVideo();
- LOG(Media, "MediaPlayerPrivatePhonon::hasVideo() -> %s", hasVideo ? "true" : "false");
- return hasVideo;
-}
-
-bool MediaPlayerPrivatePhonon::hasAudio() const
-{
- // FIXME: Phonon::MediaObject does not have such a hasAudio() function
- bool hasAudio = true;
- LOG(Media, "MediaPlayerPrivatePhonon::hasAudio() -> %s", hasAudio ? "true" : "false");
- return hasAudio;
-}
-
-void MediaPlayerPrivatePhonon::load(const String& url)
-{
- LOG(Media, "MediaPlayerPrivatePhonon::load(\"%s\")", url.utf8().data());
-
- // We are now loading
- if (m_networkState != MediaPlayer::Loading) {
- m_networkState = MediaPlayer::Loading;
- m_player->networkStateChanged();
- }
-
- // And we don't have any data yet
- if (m_readyState != MediaPlayer::HaveNothing) {
- m_readyState = MediaPlayer::HaveNothing;
- m_player->readyStateChanged();
- }
-
- m_mediaObject->setCurrentSource(QUrl(url));
- m_audioOutput->setVolume(m_player->volume());
- setVisible(m_player->visible());
-}
-
-void MediaPlayerPrivatePhonon::cancelLoad()
-{
- notImplemented();
-}
-
-
-void MediaPlayerPrivatePhonon::play()
-{
- LOG(Media, "MediaPlayerPrivatePhonon::play()");
- m_mediaObject->play();
-}
-
-void MediaPlayerPrivatePhonon::pause()
-{
- LOG(Media, "MediaPlayerPrivatePhonon::pause()");
- m_mediaObject->pause();
-}
-
-
-bool MediaPlayerPrivatePhonon::paused() const
-{
- bool paused = m_mediaObject->state() == Phonon::PausedState;
- LOG(Media, "MediaPlayerPrivatePhonon::paused() --> %s", paused ? "true" : "false");
- return paused;
-}
-
-void MediaPlayerPrivatePhonon::seek(float position)
-{
- LOG(Media, "MediaPlayerPrivatePhonon::seek(%f)", position);
-
- if (!m_mediaObject->isSeekable())
- return;
-
- if (position > duration())
- position = duration();
-
- m_mediaObject->seek(position * 1000.0f);
-}
-
-bool MediaPlayerPrivatePhonon::seeking() const
-{
- return false;
-}
-
-float MediaPlayerPrivatePhonon::duration() const
-{
- if (m_readyState < MediaPlayer::HaveMetadata)
- return 0.0f;
-
- float duration = m_mediaObject->totalTime() / 1000.0f;
-
- if (duration == 0.0f) // We are streaming
- duration = std::numeric_limits<float>::infinity();
-
- LOG(Media, "MediaPlayerPrivatePhonon::duration() --> %f", duration);
- return duration;
-}
-
-float MediaPlayerPrivatePhonon::currentTime() const
-{
- float currentTime = m_mediaObject->currentTime() / 1000.0f;
-
- LOG(Media, "MediaPlayerPrivatePhonon::currentTime() --> %f", currentTime);
- return currentTime;
-}
-
-PassRefPtr<TimeRanges> MediaPlayerPrivatePhonon::buffered() const
-{
- notImplemented();
- return TimeRanges::create();
-}
-
-float MediaPlayerPrivatePhonon::maxTimeSeekable() const
-{
- notImplemented();
- return 0.0f;
-}
-
-unsigned MediaPlayerPrivatePhonon::bytesLoaded() const
-{
- notImplemented();
- return 0;
-}
-
-unsigned MediaPlayerPrivatePhonon::totalBytes() const
-{
- //notImplemented();
- return 0;
-}
-
-void MediaPlayerPrivatePhonon::setRate(float)
-{
- notImplemented();
-}
-
-void MediaPlayerPrivatePhonon::setVolume(float volume)
-{
- LOG(Media, "MediaPlayerPrivatePhonon::setVolume()");
- m_audioOutput->setVolume(volume);
-}
-
-void MediaPlayerPrivatePhonon::setMuted(bool muted)
-{
- LOG(Media, "MediaPlayerPrivatePhonon::setMuted()");
- m_audioOutput->setMuted(muted);
-}
-
-MediaPlayer::NetworkState MediaPlayerPrivatePhonon::networkState() const
-{
-#if !LOG_DISABLED
- const QMetaObject* metaObj = this->metaObject();
- QMetaEnum networkStates = metaObj->enumerator(metaObj->indexOfEnumerator("NetworkState"));
- LOG(Media, "MediaPlayerPrivatePhonon::networkState() --> %s", networkStates.valueToKey(m_networkState));
-#endif
- return m_networkState;
-}
-
-MediaPlayer::ReadyState MediaPlayerPrivatePhonon::readyState() const
-{
-#if !LOG_DISABLED
- const QMetaObject* metaObj = this->metaObject();
- QMetaEnum readyStates = metaObj->enumerator(metaObj->indexOfEnumerator("ReadyState"));
- LOG(Media, "MediaPlayerPrivatePhonon::readyState() --> %s", readyStates.valueToKey(m_readyState));
-#endif
- return m_readyState;
-}
-
-void MediaPlayerPrivatePhonon::updateStates()
-{
- MediaPlayer::NetworkState oldNetworkState = m_networkState;
- MediaPlayer::ReadyState oldReadyState = m_readyState;
-
- Phonon::State phononState = m_mediaObject->state();
-
- if (phononState == Phonon::StoppedState) {
- if (m_readyState < MediaPlayer::HaveMetadata) {
- m_networkState = MediaPlayer::Loading; // FIXME: should this be MediaPlayer::Idle?
- m_readyState = MediaPlayer::HaveMetadata;
- m_mediaObject->pause();
- }
- } else if (phononState == Phonon::PausedState) {
- m_networkState = MediaPlayer::Loaded;
- m_readyState = MediaPlayer::HaveEnoughData;
- } else if (phononState == Phonon::ErrorState) {
- if (!m_mediaObject || m_mediaObject->errorType() == Phonon::FatalError) {
- // FIXME: is it possile to differentiate between different types of errors
- m_networkState = MediaPlayer::NetworkError;
- m_readyState = MediaPlayer::HaveNothing;
- cancelLoad();
- } else
- m_mediaObject->pause();
- }
-
- if (seeking())
- m_readyState = MediaPlayer::HaveNothing;
-
- if (m_networkState != oldNetworkState) {
-#if !LOG_DISABLED
- const QMetaObject* metaObj = this->metaObject();
- QMetaEnum networkStates = metaObj->enumerator(metaObj->indexOfEnumerator("NetworkState"));
- LOG(Media, "Network state changed from '%s' to '%s'",
- networkStates.valueToKey(oldNetworkState),
- networkStates.valueToKey(m_networkState));
-#endif
- m_player->networkStateChanged();
- }
-
- if (m_readyState != oldReadyState) {
-#if !LOG_DISABLED
- const QMetaObject* metaObj = this->metaObject();
- QMetaEnum readyStates = metaObj->enumerator(metaObj->indexOfEnumerator("ReadyState"));
- LOG(Media, "Ready state changed from '%s' to '%s'",
- readyStates.valueToKey(oldReadyState),
- readyStates.valueToKey(m_readyState));
-#endif
- m_player->readyStateChanged();
- }
-}
-
-void MediaPlayerPrivatePhonon::setVisible(bool visible)
-{
- m_isVisible = visible;
- LOG(Media, "MediaPlayerPrivatePhonon::setVisible(%s)", visible ? "true" : "false");
-
- m_videoWidget->setVisible(m_isVisible);
-}
-
-void MediaPlayerPrivatePhonon::setSize(const IntSize& newSize)
-{
- if (!m_videoWidget)
- return;
-
- LOG(Media, "MediaPlayerPrivatePhonon::setSize(%d,%d)",
- newSize.width(), newSize.height());
-
- QRect currentRect = m_videoWidget->rect();
-
- if (newSize.width() != currentRect.width() || newSize.height() != currentRect.height())
- m_videoWidget->resize(newSize.width(), newSize.height());
-}
-
-IntSize MediaPlayerPrivatePhonon::naturalSize() const
-{
- if (!hasVideo()) {
- LOG(Media, "MediaPlayerPrivatePhonon::naturalSize() -> %dx%d",
- 0, 0);
- return IntSize();
- }
-
- if (m_readyState < MediaPlayer::HaveMetadata) {
- LOG(Media, "MediaPlayerPrivatePhonon::naturalSize() -> %dx%d",
- 0, 0);
- return IntSize();
- }
-
- QSize videoSize = m_videoWidget->sizeHint();
- IntSize naturalSize(videoSize.width(), videoSize.height());
- LOG(Media, "MediaPlayerPrivatePhonon::naturalSize() -> %dx%d",
- naturalSize.width(), naturalSize.height());
- return naturalSize;
-}
-
-bool MediaPlayerPrivatePhonon::eventFilter(QObject* obj, QEvent* event)
-{
- if (event->type() == QEvent::UpdateRequest)
- m_player->repaint();
-
- return QObject::eventFilter(obj, event);
-}
-
-void MediaPlayerPrivatePhonon::paint(GraphicsContext* graphicsContect, const IntRect& rect)
-{
- if (graphicsContect->paintingDisabled())
- return;
-
- if (!m_isVisible)
- return;
-
- QPainter* painter = graphicsContect->platformContext();
-
- painter->fillRect(rect, Qt::black);
-
- m_videoWidget->render(painter, QPoint(rect.x(), rect.y()),
- QRegion(0, 0, rect.width(), rect.height()));
-}
-
-// ====================== Phonon::MediaObject signals ======================
-
-void MediaPlayerPrivatePhonon::stateChanged(Phonon::State newState, Phonon::State oldState)
-{
-#if !LOG_DISABLED
- const QMetaObject* metaObj = this->metaObject();
- QMetaEnum phononStates = metaObj->enumerator(metaObj->indexOfEnumerator("PhononState"));
- LOG(Media, "MediaPlayerPrivatePhonon::stateChanged(newState=%s, oldState=%s)",
- phononStates.valueToKey(newState), phononStates.valueToKey(oldState));
-#endif
-
- updateStates();
-}
-
-void MediaPlayerPrivatePhonon::metaDataChanged()
-{
- LOG(Media, "MediaPlayerPrivatePhonon::metaDataChanged()");
- LOG_MEDIAOBJECT();
-}
-
-void MediaPlayerPrivatePhonon::seekableChanged(bool)
-{
- notImplemented();
- LOG_MEDIAOBJECT();
-}
-
-void MediaPlayerPrivatePhonon::hasVideoChanged(bool hasVideo)
-{
- LOG(Media, "MediaPlayerPrivatePhonon::hasVideoChanged(%s)", hasVideo ? "true" : "false");
-}
-
-void MediaPlayerPrivatePhonon::bufferStatus(int)
-{
- notImplemented();
- LOG_MEDIAOBJECT();
-}
-
-void MediaPlayerPrivatePhonon::finished()
-{
- notImplemented();
- LOG_MEDIAOBJECT();
-}
-
-void MediaPlayerPrivatePhonon::currentSourceChanged(const Phonon::MediaSource&)
-{
- notImplemented();
- LOG_MEDIAOBJECT();
-}
-
-void MediaPlayerPrivatePhonon::aboutToFinish()
-{
- notImplemented();
- LOG_MEDIAOBJECT();
-}
-
-void MediaPlayerPrivatePhonon::totalTimeChanged(qint64 totalTime)
-{
-#if OS(WINDOWS)
- LOG(Media, "MediaPlayerPrivatePhonon::totalTimeChanged(%I64d)", totalTime);
-#else
- LOG(Media, "MediaPlayerPrivatePhonon::totalTimeChanged(%lld)", totalTime);
-#endif
- LOG_MEDIAOBJECT();
-}
-
-} // namespace WebCore
-
-#include "moc_MediaPlayerPrivatePhonon.cpp"
diff --git a/src/3rdparty/webkit/Source/WebCore/platform/graphics/qt/MediaPlayerPrivatePhonon.h b/src/3rdparty/webkit/Source/WebCore/platform/graphics/qt/MediaPlayerPrivatePhonon.h
deleted file mode 100644
index 1d8a4f5166..0000000000
--- a/src/3rdparty/webkit/Source/WebCore/platform/graphics/qt/MediaPlayerPrivatePhonon.h
+++ /dev/null
@@ -1,153 +0,0 @@
-/*
- Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies)
- Copyright (C) 2009 Apple Inc. All rights reserved.
-
- This library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Library General Public
- License as published by the Free Software Foundation; either
- version 2 of the License, or (at your option) any later version.
-
- This library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Library General Public License for more details.
-
- You should have received a copy of the GNU Library General Public License
- along with this library; see the file COPYING.LIB. If not, write to
- the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- Boston, MA 02110-1301, USA.
-*/
-
-#ifndef MediaPlayerPrivatePhonon_h
-#define MediaPlayerPrivatePhonon_h
-
-#include "MediaPlayerPrivate.h"
-
-#include <QObject>
-#include <phononnamespace.h>
-
-QT_BEGIN_NAMESPACE
-class QWidget;
-class QUrl;
-
-namespace Phonon {
- class MediaObject;
- class VideoWidget;
- class AudioOutput;
- class MediaSource;
-}
-QT_END_NAMESPACE
-
-namespace WebCore {
-
- class MediaPlayerPrivatePhonon : public QObject, public MediaPlayerPrivateInterface {
-
- Q_OBJECT
-
- public:
- static void registerMediaEngine(MediaEngineRegistrar);
- ~MediaPlayerPrivatePhonon();
-
- // These enums are used for debugging
- Q_ENUMS(ReadyState NetworkState PhononState)
-
- enum ReadyState {
- HaveNothing,
- HaveMetadata,
- HaveCurrentData,
- HaveFutureData,
- HaveEnoughData
- };
-
- enum NetworkState {
- Empty,
- Idle,
- Loading,
- Loaded,
- FormatError,
- NetworkError,
- DecodeError
- };
-
- enum PhononState {
- LoadingState,
- StoppedState,
- PlayingState,
- BufferingState,
- PausedState,
- ErrorState
- };
-
- IntSize naturalSize() const;
- bool hasVideo() const;
- bool hasAudio() const;
-
- void load(const String &url);
- void cancelLoad();
-
- void play();
- void pause();
-
- bool paused() const;
- bool seeking() const;
-
- float duration() const;
- float currentTime() const;
- void seek(float);
-
- void setRate(float);
- void setVolume(float);
- void setMuted(bool);
-
- MediaPlayer::NetworkState networkState() const;
- MediaPlayer::ReadyState readyState() const;
-
- PassRefPtr<TimeRanges> buffered() const;
- float maxTimeSeekable() const;
- unsigned bytesLoaded() const;
- unsigned totalBytes() const;
-
- void setVisible(bool);
- void setSize(const IntSize&);
-
- void paint(GraphicsContext*, const IntRect&);
-
- protected:
- bool eventFilter(QObject*, QEvent*);
-
- private slots:
- void stateChanged(Phonon::State, Phonon::State);
- void metaDataChanged();
- void seekableChanged(bool);
- void hasVideoChanged(bool);
- void bufferStatus(int);
- void finished();
- void currentSourceChanged(const Phonon::MediaSource&);
- void aboutToFinish();
- void totalTimeChanged(qint64);
-
- private:
- MediaPlayerPrivatePhonon(MediaPlayer*);
- static PassOwnPtr<MediaPlayerPrivateInterface> create(MediaPlayer*);
-
- static void getSupportedTypes(HashSet<String>&);
- static MediaPlayer::SupportsType supportsType(const String& type, const String& codecs);
- static HashSet<String>& supportedTypesCache();
- static bool isAvailable() { return true; }
-
- void updateStates();
-
- MediaPlayer* m_player;
-
- MediaPlayer::NetworkState m_networkState;
- MediaPlayer::ReadyState m_readyState;
-
- Phonon::MediaObject* m_mediaObject;
- Phonon::VideoWidget* m_videoWidget;
- Phonon::AudioOutput* m_audioOutput;
-
- bool m_isVisible;
- };
-}
-
-#endif // MediaPlayerPrivatePhonon_h
diff --git a/src/3rdparty/webkit/Source/WebCore/rendering/RenderBlock.cpp b/src/3rdparty/webkit/Source/WebCore/rendering/RenderBlock.cpp
index deb6389217..a212dd4809 100644
--- a/src/3rdparty/webkit/Source/WebCore/rendering/RenderBlock.cpp
+++ b/src/3rdparty/webkit/Source/WebCore/rendering/RenderBlock.cpp
@@ -219,6 +219,9 @@ void RenderBlock::styleWillChange(StyleDifference diff, const RenderStyle* newSt
if (cb->isRenderBlock())
toRenderBlock(cb)->removePositionedObjects(this);
}
+
+ if (containsFloats() && !isFloating() && !isPositioned() && (newStyle->position() == AbsolutePosition || newStyle->position() == FixedPosition))
+ markAllDescendantsWithFloatsForLayout();
}
RenderBox::styleWillChange(diff, newStyle);
diff --git a/src/3rdparty/webkit/Source/WebKit.pri b/src/3rdparty/webkit/Source/WebKit.pri
index c556cd049b..309357cbee 100644
--- a/src/3rdparty/webkit/Source/WebKit.pri
+++ b/src/3rdparty/webkit/Source/WebKit.pri
@@ -154,11 +154,6 @@ symbian|maemo5|maemo6 {
disable_uitools: DEFINES *= QT_NO_UITOOLS
-isEmpty(QT.phonon.includes) {
- QT.phonon.includes = $$QMAKE_INCDIR_QT/phonon
- QT.phonon.libs = $$QMAKE_LIBDIR_QT
-}
-
# Disable a few warnings on Windows. The warnings are also
# disabled in WebKitLibraries/win/tools/vsprops/common.vsprops
win32-msvc*|wince*: QMAKE_CXXFLAGS += -wd4291 -wd4344 -wd4396 -wd4503 -wd4800 -wd4819 -wd4996
diff --git a/src/3rdparty/webkit/Source/WebKit/qt/ChangeLog b/src/3rdparty/webkit/Source/WebKit/qt/ChangeLog
index 63a8501410..f4566cded0 100644
--- a/src/3rdparty/webkit/Source/WebKit/qt/ChangeLog
+++ b/src/3rdparty/webkit/Source/WebKit/qt/ChangeLog
@@ -1,3 +1,84 @@
+2011-06-27 Caio Marcelo de Oliveira Filho <caio.oliveira@openbossa.org>
+
+ Reviewed by Andreas Kling.
+
+ [Qt] tst_QWebFrame::overloadedSlots() fails
+ https://bugs.webkit.org/show_bug.cgi?id=37319
+
+ * tests/qwebframe/tst_qwebframe.cpp:
+ (tst_QWebFrame::overloadedSlots): Remove expected failure and
+ fix the comment.
+
+2011-06-27 Alexis Menard <alexis.menard@openbossa.org>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ [Qt] Remove Phonon MediaPlayer from the tree.
+ https://bugs.webkit.org/show_bug.cgi?id=63448
+
+ Remove Phonon related stuff.
+
+ * docs/qtwebkit.qdocconf:
+ * qt_webkit_version.pri:
+
+2011-06-23 Csaba Osztrogonác <ossy@webkit.org>
+
+ Rubber-stamped by Andreas Kling.
+
+ [Qt] Fix tst_QWebFrame::setHtmlWithResource() API test
+ https://bugs.webkit.org/show_bug.cgi?id=63235
+
+ [Qt] Fix tst_QWebFrame::renderGeometry() API test
+ https://bugs.webkit.org/show_bug.cgi?id=63236
+
+ [Qt] Fix tst_QWebFrame::setUrlWithPendingLoads() API test
+ https://bugs.webkit.org/show_bug.cgi?id=63237
+
+ * tests/qwebframe/tst_qwebframe.cpp: Mark failing test cases as expected fails until real fix.
+ (tst_QWebFrame::setHtmlWithResource):
+ (tst_QWebFrame::renderGeometry):
+
+2011-06-23 Csaba Osztrogonác <ossy@webkit.org>
+
+ Rubber-stamped by Andreas Kling.
+
+ [Qt] Fix tst_QWebPage::showModalDialog() API test
+ https://bugs.webkit.org/show_bug.cgi?id=63244
+
+ [Qt] Fix tst_QWebPage::testStopScheduledPageRefresh() API test
+ https://bugs.webkit.org/show_bug.cgi?id=63245
+
+ * tests/qwebpage/tst_qwebpage.cpp: Mark failing test cases as expected fails.
+ (tst_QWebPage::showModalDialog):
+ (tst_QWebPage::testStopScheduledPageRefresh):
+
+2011-06-23 Joe Wild <joseph.wild@nokia.com>
+
+ Reviewed by Laszlo Gombos.
+
+ [Qt] Export files under Symbian Qt WebKit build
+ https://bugs.webkit.org/show_bug.cgi?id=61207
+
+ Export files for the Symbian platform as this is needed by the
+ production build system.
+
+ Janne Koskinen provided the suggestion to use target_predeps,
+ which is an improvement over the originally suggested patch.
+
+ * QtWebKit.pro:
+
+2011-06-23 Joe Wild <joseph.wild@nokia.com>
+
+ Reviewed by Laszlo Gombos.
+
+ [Qt] The Qt WebKit Symbian .def file needs to be updated so Symbian will build
+ https://bugs.webkit.org/show_bug.cgi?id=61200
+
+ Revert r87060 as it broke compatibility with QtWebKit 2.1 release
+ and add some newly introduce symbols.
+
+ * symbian/eabi/QtWebKitu.def:
+
2011-06-22 Ademar de Souza Reis Jr. <ademar.reis@openbossa.org>
Reviewed by Holger Freyther.
diff --git a/src/3rdparty/webkit/Source/WebKit/qt/QtWebKit.pro b/src/3rdparty/webkit/Source/WebKit/qt/QtWebKit.pro
index d3cc1cc522..301aaa3d78 100644
--- a/src/3rdparty/webkit/Source/WebKit/qt/QtWebKit.pro
+++ b/src/3rdparty/webkit/Source/WebKit/qt/QtWebKit.pro
@@ -315,7 +315,7 @@ contains(CONFIG, texmap) {
# INSTALLS is not implemented in qmake's mmp generators, copy headers manually
inst_headers.commands = $$QMAKE_COPY ${QMAKE_FILE_NAME} ${QMAKE_FILE_OUT}
inst_headers.input = WEBKIT_INSTALL_HEADERS
- inst_headers.CONFIG = no_clean
+ inst_headers.CONFIG = no_clean no_link target_predeps
!isEmpty(INSTALL_HEADERS): inst_headers.output = $$INSTALL_HEADERS/QtWebKit/${QMAKE_FILE_BASE}${QMAKE_FILE_EXT}
else: inst_headers.output = $$[QT_INSTALL_HEADERS]/QtWebKit/${QMAKE_FILE_BASE}${QMAKE_FILE_EXT}
diff --git a/src/3rdparty/webkit/Source/WebKit/qt/docs/qtwebkit.qdocconf b/src/3rdparty/webkit/Source/WebKit/qt/docs/qtwebkit.qdocconf
index f1d198d16c..4f11d18bb6 100644
--- a/src/3rdparty/webkit/Source/WebKit/qt/docs/qtwebkit.qdocconf
+++ b/src/3rdparty/webkit/Source/WebKit/qt/docs/qtwebkit.qdocconf
@@ -146,7 +146,6 @@ Cpp.ignoretokens = QAXFACTORY_EXPORT \
QT_BEGIN_INCLUDE_NAMESPACE \
QT_END_NAMESPACE \
QT_END_INCLUDE_NAMESPACE \
- PHONON_EXPORT \
EXTENSIONSYSTEM_EXPORT \
QWEBKIT_EXPORT
Cpp.ignoredirectives = Q_DECLARE_HANDLE \
@@ -164,10 +163,7 @@ Cpp.ignoredirectives = Q_DECLARE_HANDLE \
Q_ENUMS \
Q_FLAGS \
Q_INTERFACES \
- __attribute__ \
- K_DECLARE_PRIVATE \
- PHONON_OBJECT \
- PHONON_HEIR
+ __attribute__
diff --git a/src/3rdparty/webkit/Source/WebKit/qt/qt_webkit_version.pri b/src/3rdparty/webkit/Source/WebKit/qt/qt_webkit_version.pri
index 9f6ba20e2d..cc80515ce5 100644
--- a/src/3rdparty/webkit/Source/WebKit/qt/qt_webkit_version.pri
+++ b/src/3rdparty/webkit/Source/WebKit/qt/qt_webkit_version.pri
@@ -7,7 +7,7 @@ QT.webkit.name = QtWebKit
QT.webkit.includes = $$QT_MODULE_INCLUDE_BASE $$QT_MODULE_INCLUDE_BASE/QtWebKit
QT.webkit.sources = $$QT_MODULE_BASE
QT.webkit.libs = $$QT_MODULE_LIB_BASE
-QT.webkit.depends = core gui opengl network xmlpatterns script phonon
+QT.webkit.depends = core gui opengl network xmlpatterns script
!contains(QT_CONFIG, modular)|contains(QT_ELIGIBLE_MODULES, webkit) {
QT_CONFIG += webkit
diff --git a/src/3rdparty/webkit/Source/WebKit/qt/symbian/eabi/QtWebKitu.def b/src/3rdparty/webkit/Source/WebKit/qt/symbian/eabi/QtWebKitu.def
index 7ca3bf9c64..176b9a1832 100644
--- a/src/3rdparty/webkit/Source/WebKit/qt/symbian/eabi/QtWebKitu.def
+++ b/src/3rdparty/webkit/Source/WebKit/qt/symbian/eabi/QtWebKitu.def
@@ -780,8 +780,8 @@ EXPORTS
_ZN23DumpRenderTreeSupportQt12isTargetItemERK15QWebHistoryItem @ 779 NONAME
_ZN23DumpRenderTreeSupportQt17historyItemTargetERK15QWebHistoryItem @ 780 NONAME
_ZN23DumpRenderTreeSupportQt20getChildHistoryItemsERK15QWebHistoryItem @ 781 NONAME
- _ZN23DumpRenderTreeSupportQt23setMockGeolocationErrorEP8QWebPageiRK7QString @ 782 NONAME
- _ZN23DumpRenderTreeSupportQt26setMockGeolocationPositionEP8QWebPageddd @ 783 NONAME
+ _ZN23DumpRenderTreeSupportQt23setMockGeolocationErrorEiRK7QString @ 782 NONAME ABSENT
+ _ZN23DumpRenderTreeSupportQt26setMockGeolocationPositionEddd @ 783 NONAME ABSENT
_ZN23DumpRenderTreeSupportQt17clearScriptWorldsEv @ 784 NONAME
_ZN23DumpRenderTreeSupportQt23setCustomPolicyDelegateEbb @ 785 NONAME
_ZN15QWebScriptWorldC1ERKS_ @ 786 NONAME
@@ -812,7 +812,7 @@ EXPORTS
_ZN8QWebPage25requestPermissionFromUserEP9QWebFrameNS_16PermissionDomainE @ 811 NONAME ABSENT
_ZN8QWebPage27cancelRequestsForPermissionEP9QWebFrameNS_16PermissionDomainE @ 812 NONAME ABSENT
_ZNK16QGraphicsWebView10deviceSizeEv @ 813 NONAME ABSENT
- _ZN23DumpRenderTreeSupportQt14viewportAsTextEP8QWebPageiRK5QSizeS4_ @ 814 NONAME
+ _ZN23DumpRenderTreeSupportQt14viewportAsTextEP8QWebPageRK5QSize @ 814 NONAME
_ZN23DumpRenderTreeSupportQt32simulateDesktopNotificationClickERK7QString @ 815 NONAME
_ZN8QWebPage23viewportChangeRequestedEv @ 816 NONAME
_ZNK8QWebPage28viewportConfigurationForSizeERK5QSize @ 817 NONAME ABSENT
@@ -835,4 +835,13 @@ EXPORTS
_ZN8QWebPage20setFeaturePermissionEP9QWebFrameNS_7FeatureENS_16PermissionPolicyE @ 834 NONAME
_ZN8QWebPage26featurePermissionRequestedEP9QWebFrameNS_7FeatureE @ 835 NONAME
_ZN8QWebPage32featurePermissionRequestCanceledEP9QWebFrameNS_7FeatureE @ 836 NONAME
- _Z33qtwebkit_setPluginCreatedCallbackPFvP9QWebFramePvS1_E @ 837 NONAME
+ _Z33qtwebkit_setPluginCreatedCallbackPFvP9QWebFramePvS1_E @ 837 NONAME
+ _ZN23DumpRenderTreeSupportQt23setMockGeolocationErrorEP8QWebPageiRK7QString @ 838 NONAME
+ _ZN23DumpRenderTreeSupportQt26setMockGeolocationPositionEP8QWebPageddd @ 839 NONAME
+ _ZN23DumpRenderTreeSupportQt14viewportAsTextEP8QWebPageiRK5QSizeS4_ @ 840 NONAME
+ _ZN23DumpRenderTreeSupportQt13nodesFromRectERK11QWebElementiijjjjb @ 841 NONAME
+ _ZN23DumpRenderTreeSupportQt9plainTextERK8QVariant @ 842 NONAME
+ _ZN23DumpRenderTreeSupportQt26mediaContentUrlByElementIdEP9QWebFrameRK7QString @ 843 NONAME
+ _ZNK8QWebPage12hasSelectionEv @ 844 NONAME
+ _ZNK8QWebPage12selectedHtmlEv @ 845 NONAME
+ _ZN11QWebElement6renderEP8QPainterRK5QRect @ 846 NONAME
diff --git a/src/3rdparty/webkit/Source/WebKit/qt/tests/qwebframe/tst_qwebframe.cpp b/src/3rdparty/webkit/Source/WebKit/qt/tests/qwebframe/tst_qwebframe.cpp
index b567784de5..f2bdcee3ff 100644
--- a/src/3rdparty/webkit/Source/WebKit/qt/tests/qwebframe/tst_qwebframe.cpp
+++ b/src/3rdparty/webkit/Source/WebKit/qt/tests/qwebframe/tst_qwebframe.cpp
@@ -649,7 +649,7 @@ private slots:
void setContent_data();
void setContent();
void setCacheLoadControlAttribute();
- void setUrlWithPendingLoads();
+ //void setUrlWithPendingLoads();
void setUrlWithFragment_data();
void setUrlWithFragment();
void setUrlToEmpty();
@@ -2004,10 +2004,9 @@ void tst_QWebFrame::overloadedSlots()
QCOMPARE(m_myObject->qtFunctionInvoked(), 35);
*/
- // should pick myOverloadedSlot(QRegExp)
+ // Should pick myOverloadedSlot(QWebElement).
m_myObject->resetQtFunctionInvoked();
evalJS("myObject.myOverloadedSlot(document.body)");
- QEXPECT_FAIL("", "https://bugs.webkit.org/show_bug.cgi?id=37319", Continue);
QCOMPARE(m_myObject->qtFunctionInvoked(), 36);
// should pick myOverloadedSlot(QObject*)
@@ -2503,7 +2502,9 @@ void tst_QWebFrame::setHtmlWithResource()
QCOMPARE(spy.count(), 1);
QCOMPARE(frame->evaluateJavaScript("document.images.length").toInt(), 1);
+ QEXPECT_FAIL("", "https://bugs.webkit.org/show_bug.cgi?id=63235", Continue);
QCOMPARE(frame->evaluateJavaScript("document.images[0].width").toInt(), 128);
+ QEXPECT_FAIL("", "https://bugs.webkit.org/show_bug.cgi?id=63235", Continue);
QCOMPARE(frame->evaluateJavaScript("document.images[0].height").toInt(), 128);
QString html2 =
@@ -2522,6 +2523,7 @@ void tst_QWebFrame::setHtmlWithResource()
QCOMPARE(spy.size(), 2);
QWebElement p = frame->documentElement().findAll("p").at(0);
+ QEXPECT_FAIL("", "https://bugs.webkit.org/show_bug.cgi?id=63235", Continue);
QCOMPARE(p.styleProperty("color", QWebElement::CascadedStyle), QLatin1String("red"));
}
@@ -2909,7 +2911,9 @@ void tst_QWebFrame::renderGeometry()
frame->render(&painter1, QWebFrame::ContentsLayer);
painter1.end();
+ QEXPECT_FAIL("", "https://bugs.webkit.org/show_bug.cgi?id=63236", Continue);
QCOMPARE(size.width(), picture.boundingRect().width() + frame->scrollBarGeometry(Qt::Vertical).width());
+ QEXPECT_FAIL("", "https://bugs.webkit.org/show_bug.cgi?id=63236", Continue);
QCOMPARE(size.height(), picture.boundingRect().height() + frame->scrollBarGeometry(Qt::Horizontal).height());
// render everything, should be the size of the iframe
@@ -2917,7 +2921,9 @@ void tst_QWebFrame::renderGeometry()
frame->render(&painter2, QWebFrame::AllLayers);
painter2.end();
+ QEXPECT_FAIL("", "https://bugs.webkit.org/show_bug.cgi?id=63236", Continue);
QCOMPARE(size.width(), picture.boundingRect().width()); // width: 100px
+ QEXPECT_FAIL("", "https://bugs.webkit.org/show_bug.cgi?id=63236", Continue);
QCOMPARE(size.height(), picture.boundingRect().height()); // height: 100px
}
@@ -3353,12 +3359,16 @@ void tst_QWebFrame::webElementSlotOnly()
QCOMPARE(evalJS("myWebElementSlotObject.tagName"), QString("BODY"));
}
+// [Qt] Fix tst_QWebFrame::setUrlWithPendingLoads() API test
+// https://bugs.webkit.org/show_bug.cgi?id=63237
+/*
void tst_QWebFrame::setUrlWithPendingLoads()
{
QWebPage page;
page.mainFrame()->setHtml("<img src='dummy:'/>");
page.mainFrame()->setUrl(QUrl("about:blank"));
}
+*/
void tst_QWebFrame::setUrlWithFragment_data()
{
diff --git a/src/3rdparty/webkit/Source/WebKit/qt/tests/qwebpage/tst_qwebpage.cpp b/src/3rdparty/webkit/Source/WebKit/qt/tests/qwebpage/tst_qwebpage.cpp
index efe3a3fa71..359ef05c95 100644
--- a/src/3rdparty/webkit/Source/WebKit/qt/tests/qwebpage/tst_qwebpage.cpp
+++ b/src/3rdparty/webkit/Source/WebKit/qt/tests/qwebpage/tst_qwebpage.cpp
@@ -2793,6 +2793,7 @@ void tst_QWebPage::showModalDialog()
TestModalPage page;
page.mainFrame()->setHtml(QString("<html></html>"));
QString res = page.mainFrame()->evaluateJavaScript("window.showModalDialog('javascript:window.returnValue=dialogArguments; window.close();', 'This is a test');").toString();
+ QEXPECT_FAIL("", "https://bugs.webkit.org/show_bug.cgi?id=63244", Continue);
QCOMPARE(res, QString("This is a test"));
}
@@ -2805,8 +2806,10 @@ void tst_QWebPage::testStopScheduledPageRefresh()
"<meta http-equiv=\"refresh\"content=\"0;URL=qrc:///resources/index.html\">"
"</head><body><h1>Page redirects immediately...</h1>"
"</body></html>");
+ QEXPECT_FAIL("", "https://bugs.webkit.org/show_bug.cgi?id=63245", Continue);
QVERIFY(::waitForSignal(&page1, SIGNAL(loadFinished(bool))));
QTest::qWait(500);
+ QEXPECT_FAIL("", "https://bugs.webkit.org/show_bug.cgi?id=63245", Continue);
QCOMPARE(page1.mainFrame()->url(), QUrl(QLatin1String("qrc:///resources/index.html")));
// With QWebPage::StopScheduledPageRefresh
diff --git a/src/3rdparty/webkit/Source/WebKit2/ChangeLog b/src/3rdparty/webkit/Source/WebKit2/ChangeLog
index b7eaf3cfb1..b6e5afefec 100644
--- a/src/3rdparty/webkit/Source/WebKit2/ChangeLog
+++ b/src/3rdparty/webkit/Source/WebKit2/ChangeLog
@@ -1,3 +1,31 @@
+2011-06-27 Huang Dongsung <luxtella@company100.net>
+
+ Reviewed by Kenneth Rohde Christiansen.
+
+ TiledBackingStore endlessly creates and destroys tiles due to an off-by-one
+ error.
+ https://bugs.webkit.org/show_bug.cgi?id=62422
+
+ REGRESSION(r77286): Remove bottomRight().
+ REGRESSION(r77312): Change the logic to get the bottom right point.
+ REGRESSION(r77928): Cause off-by-one error in TiledBackingStore.
+ REGRESSION(r78783): Cause off-by-one error in TiledDrawingAreaProxy.
+ REGRESSION(r78785): Cause off-by-one error in TiledDrawingAreaProxy.
+
+ If the viewport width equals the contents width, especially in the mobile
+ device, TiledBackingStore endlessly creates and deletes the rightmost
+ column and bottom row of tiles.
+ In the detail, dropTilesOutsideRect() in TiledBackingStore::createTiles()
+ deletes tiles and setTile(coordinate, Tile::create(this, coordinate)) creates
+ tiles infinitely.
+ Modified TiledDrawingAreaProxy also.
+
+ * UIProcess/TiledDrawingAreaProxy.cpp:
+ (WebKit::innerBottomRight):
+ (WebKit::TiledDrawingAreaProxy::invalidate):
+ (WebKit::TiledDrawingAreaProxy::paint):
+ (WebKit::TiledDrawingAreaProxy::createTiles):
+
2011-06-08 Yael Aharon <yael.aharon@nokia.com>
Reviewed by Andreas Kling.
diff --git a/src/3rdparty/webkit/Source/WebKit2/UIProcess/TiledDrawingAreaProxy.cpp b/src/3rdparty/webkit/Source/WebKit2/UIProcess/TiledDrawingAreaProxy.cpp
index 985827a7eb..c10939c080 100644
--- a/src/3rdparty/webkit/Source/WebKit2/UIProcess/TiledDrawingAreaProxy.cpp
+++ b/src/3rdparty/webkit/Source/WebKit2/UIProcess/TiledDrawingAreaProxy.cpp
@@ -42,6 +42,12 @@ namespace WebKit {
static const int defaultTileWidth = 1024;
static const int defaultTileHeight = 1024;
+static IntPoint innerBottomRight(const IntRect& rect)
+{
+ // Actually, the rect does not contain rect.maxX(). Refer to IntRect::contain.
+ return IntPoint(rect.maxX() - 1, rect.maxY() - 1);
+}
+
PassOwnPtr<TiledDrawingAreaProxy> TiledDrawingAreaProxy::create(PlatformWebView* webView, WebPageProxy* webPageProxy)
{
return adoptPtr(new TiledDrawingAreaProxy(webView, webPageProxy));
@@ -236,7 +242,7 @@ void TiledDrawingAreaProxy::invalidate(const IntRect& contentsDirtyRect)
IntRect dirtyRect(mapFromContents(contentsDirtyRect));
TiledDrawingAreaTile::Coordinate topLeft = tileCoordinateForPoint(dirtyRect.location());
- TiledDrawingAreaTile::Coordinate bottomRight = tileCoordinateForPoint(IntPoint(dirtyRect.maxX(), dirtyRect.maxY()));
+ TiledDrawingAreaTile::Coordinate bottomRight = tileCoordinateForPoint(innerBottomRight(dirtyRect));
IntRect coverRect = calculateCoverRect(m_previousVisibleRect);
@@ -334,7 +340,7 @@ bool TiledDrawingAreaProxy::paint(const IntRect& rect, PlatformDrawingContext co
IntRect dirtyRect = mapFromContents(rect);
TiledDrawingAreaTile::Coordinate topLeft = tileCoordinateForPoint(dirtyRect.location());
- TiledDrawingAreaTile::Coordinate bottomRight = tileCoordinateForPoint(IntPoint(dirtyRect.maxX(), dirtyRect.maxY()));
+ TiledDrawingAreaTile::Coordinate bottomRight = tileCoordinateForPoint(innerBottomRight(dirtyRect));
for (unsigned yCoordinate = topLeft.y(); yCoordinate <= bottomRight.y(); ++yCoordinate) {
for (unsigned xCoordinate = topLeft.x(); xCoordinate <= bottomRight.x(); ++xCoordinate) {
@@ -434,7 +440,7 @@ void TiledDrawingAreaProxy::createTiles()
unsigned requiredTileCount = 0;
bool hasVisibleCheckers = false;
TiledDrawingAreaTile::Coordinate topLeft = tileCoordinateForPoint(visibleRect.location());
- TiledDrawingAreaTile::Coordinate bottomRight = tileCoordinateForPoint(IntPoint(visibleRect.maxX(), visibleRect.maxY()));
+ TiledDrawingAreaTile::Coordinate bottomRight = tileCoordinateForPoint(innerBottomRight(visibleRect));
for (unsigned yCoordinate = topLeft.y(); yCoordinate <= bottomRight.y(); ++yCoordinate) {
for (unsigned xCoordinate = topLeft.x(); xCoordinate <= bottomRight.x(); ++xCoordinate) {
TiledDrawingAreaTile::Coordinate currentCoordinate(xCoordinate, yCoordinate);
diff --git a/src/3rdparty/webkit/VERSION b/src/3rdparty/webkit/VERSION
index 667ad32a4b..f9e62cccb2 100644
--- a/src/3rdparty/webkit/VERSION
+++ b/src/3rdparty/webkit/VERSION
@@ -4,4 +4,4 @@ This is a snapshot of the Qt port of WebKit from
and has the sha1 checksum
- 631751dee41f81af4daa7821f98b1ce8667c4d90
+ d30a30ac4faadcb8b2e282e343c921f919fbca9b